我使用 Maven 进行构建,通常我们仅使用 Maven 命令
mvn clean -Dmaven.test.skip=true package
来构建 Web 应用程序。我知道我们也可以使用 mvn install
命令来构建 Web 应用程序。但是谁能给我提供这两个命令之间的确切区别?
我找到了一些关于 clean 和 install 命令的注释。但我只是想知道使用
mvn clean
命令而不是使用 install
命令有什么优势。
mvn clean -Dmaven.test.skip=true package
和mvn install
之间的主要区别是第一个命令行会清理target
目录和包而不运行测试。第二个编译、测试、打包并将 JAR 或 WAR 文件安装到位于 ~/.m2/repository
的本地存储库中。
Maven 有“Maven 阶段”这个概念。请浏览此文档的 Maven 阶段。因此,当您运行一个阶段(例如 maven 阶段 x
)时,执行该阶段之前的所有阶段(即阶段 1 到阶段
x
)。您需要 mvn clean
来清理先前构建创建的工件。
mvn package
会将您的代码打包成 POM 中指定的格式。 mvn install
还会将Maven制作的包安装到本地存储库中。另请注意,clean
和
site
不是默认生命周期阶段的一部分。您必须在执行 package
或 install
命令之前触发它。不用说,排序在这里很重要。