“mvn clean install”与“mvn install”有什么不同?

时间:2011-05-16 14:15:06

标签: java build maven maven-3

mvn clean installmvn install之间的区别是什么?

5 个答案:

答案 0 :(得分:176)

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

这样做可以清除您拥有的任何编译文件,确保您真正从头开始编译每个模块。

答案 1 :(得分:39)

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

cleaninstalltwo different lifecycle phasesdifferent plugin executions are bound(默认情况下为explicitly in your pom.xml

按照惯例,clean阶段旨在使构建可重现,即它清理由先前构建创建的任何内容。在大多数情况下,它通过调用clean:clean来执行此操作,删除绑定到${project.build.directory}的目录(通常称为“目标”)

答案 2 :(得分:34)

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

clean删除目标文件夹 - 它删除所有类文件,java文档,jar,报告等。如果你没有clean,那么maven只会“做必须做的事情”,就像当相应的源文件没有改变时那样不会编译类(简而言之)。

我们称之为蚂蚁中的目标和maven中的目标

答案 3 :(得分:22)

坚持使用Maven术语:

  • “干净”是清洁的一个阶段 生命周期
  • “安装”是一个阶段 默认生命周期

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

答案 4 :(得分:3)

同样适用于@Andreas_D,另外如果你说在你的项目中将Spring从1个版本更新到另一个版本而不做一个干净,那么你将在你的工件中找到它们。在使用Maven进行Flex开发时,请充分考虑这一点。