mvn clean 和 install 命令之间的区别

问题描述 投票:0回答:3

我使用 Maven 进行构建,通常我们仅使用 Maven 命令

mvn clean -Dmaven.test.skip=true package
来构建 Web 应用程序。我知道我们也可以使用
mvn install
命令来构建 Web 应用程序。但是谁能给我提供这两个命令之间的确切区别?

我找到了一些关于 clean 和 install 命令的注释。但我只是想知道使用

mvn clean
命令而不是使用
install
命令有什么优势。

java build maven-2 build-process
3个回答
0
投票

mvn clean -Dmaven.test.skip=true package
mvn install
之间的主要区别是第一个命令行会清理
target
目录和包而不运行测试。第二个编译、测试、打包并将 JAR 或 WAR 文件安装到位于
~/.m2/repository
的本地存储库中。


0
投票

Maven 有“Maven 阶段”这个概念。请浏览此文档的 Maven 阶段。因此,当您运行一个阶段(例如 maven 阶段 x)时,执行该阶段之前的所有阶段(即阶段 1 到阶段

x
)。
您需要 

mvn clean

来清理先前构建创建的工件。

mvn package
会将您的代码打包成 POM 中指定的格式。
mvn install
还会将Maven制作的包安装到本地存储库中。
另请注意,

clean

site
不是默认生命周期阶段的一部分。您必须在执行
package
install
命令之前触发它。不用说,排序在这里很重要。
    


-1
投票
此处

所解释。 clean 是 Maven 中它自己的操作。 mvn clean install 告诉 Maven 在为每个模块运行安装操作之前在每个模块中执行清理操作。

这会清除您拥有的所有已编译文件,确保您真正从头开始编译每个模块。

© www.soinside.com 2019 - 2024. All rights reserved.