mvn clean install和mvn install有什么区别?


当前回答

clean是Maven中它自己的构建生命周期阶段(可以认为是一个动作或任务)。mvn清洁安装告诉Maven在为每个模块运行安装阶段之前在每个模块中执行清洁阶段。

这样做的目的是清除所有已编译的文件,确保真正从头开始编译每个模块。

其他回答

@Andreas_D也是如此,此外,如果你在项目中说将Spring从一个版本更新到另一个版本而不做清理,那么你的工件中就会出现两个版本。在使用Maven进行Flex开发时,经常遇到这种情况。

您可以使用maven调用多个目标。MVN clean install首先调用clean,然后再调用install。必须手动清理,因为清理不是标准目标,不会在每次安装时自动执行。

Clean会删除目标文件夹——它会删除所有类文件、Java文档、jar文件、报告等等。如果您不清理,那么maven将只“做必须做的事情”,比如当相应的源文件没有更改时,它不会编译类(简单地说)。

我们在ant中称它为target,在maven中称它为goal

clean是Maven中它自己的构建生命周期阶段(可以认为是一个动作或任务)。mvn清洁安装告诉Maven在为每个模块运行安装阶段之前在每个模块中执行清洁阶段。

这样做的目的是清除所有已编译的文件,确保真正从头开始编译每个模块。

继续使用Maven术语:

“洁净”是一个阶段的洁净 生命周期 “安装”是一个阶段 缺省生命周期

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

Maven允许您在命令行上指定目标或生命周期阶段(或两者都指定)。

清理和安装是两个不同生命周期的两个不同阶段,它们绑定了不同的插件目标(在默认情况下或显式地在pom.xml中)

根据惯例,清洁阶段意味着使构建可重现,即它清除以前构建所创建的任何内容。在大多数情况下,它通过调用clean:clean来删除绑定到${project.build的目录。目录}(通常称为“目标”)