【问题标题】:difference between mvn clean and install commandsmvn clean 和 install 命令的区别
【发布时间】:2014-03-11 20:28:21
【问题描述】:

我使用 maven 进行构建,通常我们使用 maven 命令mvn clean -Dmaven.test.skip=true package 仅用于构建 Web 应用程序。我知道我们也可以使用mvn install 命令来构建Web 应用程序。但是谁能告诉我这两个命令之间的确切区别?

我发现了一些关于清理和安装命令的注释。但我只想知道使用mvn clean 命令而不是使用install 命令有什么好处。

【问题讨论】:

标签: java build maven-2 build-process


【解决方案1】:

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

【讨论】:

【解决方案2】:

Maven 有 Maven Phases 的概念。请通过 this doc 的 Maven 阶段。因此,当您运行一个阶段(例如 maven 阶段 x)时,执行该阶段之前的所有阶段(即阶段 1 到阶段 x)。

您需要mvn clean 来清理先前构建创建的工件。 mvn package 会将您的代码打包成您在 POM 中指定的格式。 mvn install 也会将 Maven 制作的包安装到本地仓库中。

还要注意cleansite 不是默认生命周期阶段的一部分。您必须在您的 packageinstall 命令之前触发它。不用说订购在这里很重要。

【讨论】:

【解决方案3】:

正如here 解释的那样。

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 2014-03-30
  • 2015-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
相关资源
最近更新 更多