“mvn clean install”与“mvn install”有什么不同?
mvn clean install
和mvn install
什么区别?
在Maven中, clean
是它自己的构build生命周期阶段(可以被认为是一个行动或任务)。 在运行每个模块的install
阶段之前, mvn clean install
告诉Maven在每个模块中执行clean
阶段。
这样做是清除任何编译的文件,确保你真的从头开始编译每个模块。
Maven允许您在命令行(或两者)上指定目标或生命周期阶段。
clean
和install
是两个不同的生命周期阶段 , 不同的插件执行被绑定 (默认或明确在你的pom.xml中 )
按照惯例, clean
阶段是为了使构build具有可重复性,也就是清理以前构build所创build的任何内容。 在大多数情况下,它通过调用clean:clean
来删除绑定到${project.build.directory}
的目录(通常称为“target”)
你可以用maven调用多个目标目标。 先mvn clean install
,然后install
。 您必须手动清理,因为清理不是标准的目标,并且不会在每次安装时自动执行。
clean
删除目标文件夹 – 它删除所有类文件,Java文档,jar子,报告等。 如果你不clean
,那么maven只会“做必须做的事情”,就像当相应的源文件没有改变(简而言之)时它不会编译类。
我们把它称为目标ant和目标在maven
坚持使用Maven术语:
- “清洁”是清洁生命周期的一个阶段
- “安装”是默认生命周期的一个阶段
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
另外,如果你说在你的项目中将Spring从1版本更新到另一个版本,而没有做一个干净的工作,那么你将会在你的工件中结束这两个版本。 使用Maven进行Flex开发时,经常会遇到这种情况。