mvn clean和install命令之间的区别

时间:2014-02-13 05:40:44

标签: java build maven-2 build-process

我正在使用maven进行构建,通常我们只使用maven命令mvn clean -Dmaven.test.skip=true package来构建Web应用程序。我知道我们也可以使用mvn install命令来构建Web应用程序。但是,任何人都可以向我提供这两个命令之间的确切区别吗?

我在clean和install命令上找到了一些注释。但我只是想知道使用mvn clean命令而不是使用install命令的优势是什么。

3 个答案:

答案 0 :(得分:0)

正如here所述。

clean是Maven中自己的动作。 mvn clean install告诉Maven在为每个模块运行安装操作之前在每个模块中执行clean操作。

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

答案 1 :(得分:0)

Maven有 Maven阶段的概念。请仔细阅读this doc的Maven阶段。因此,当您运行阶段(比如maven阶段x)时,将执行直到该阶段的所有阶段(即阶段1到阶段x)。

您需要mvn clean来清除先前构建所创建的工件。 。 mvn package会将您的代码打包到POM中指定的格式。mvn install还会将maven创建的包安装到本地存储库中。

另请注意,cleansite不属于默认生命周期的一部分,您必须在packageinstall命令之前触发它。不用说排序在这里很重要。

答案 2 :(得分:0)

mvn clean -Dmaven.test.skip = true package和mvn install之间的主要区别是第一个命令行清理目标目录和包而不运行测试第二个编译,测试,打包和安装jar或战争文件