为什么要"mvn安装"战争项目?



我的maven项目打包了一个war,它只被部署,它本身不依赖于其他项目(换句话说,是最终可部署的)。

:

  • 是否有任何理由在该包上运行mvn install,除了mvn package只将其放在localRepository中?
  • 如果什么都不依赖于它,为什么要安装最终可部署的?

对于最终可部署的工件,可能没有理由调用install阶段而不是package阶段:您想要构建.war文件,并且您确实不需要在本地存储库中安装它。

然而,如果有的话,您可能希望将始终运行集成测试作为一种习惯。看看默认的Maven生命周期,这些阶段发生在打包后的:

package将编译后的代码打包成可分发的格式,比如JAR。
pre-integration-test执行集成测试执行前所需的操作。这可能涉及诸如设置所需环境之类的事情。integration-test处理并在必要时将包部署到可以运行集成测试的环境中。
post-integration-test执行集成测试执行后所需的操作。这可能包括清理环境。
verify运行任何检查,以验证包是有效的,符合质量标准。
install将包安装到本地存储库中,以便在本地其他项目中作为依赖项使用。

因此,通过调用install,您将确保始终执行集成测试。更短的调用应该是

mvn clean verify

不太流行,但在这些情况下更有效

相关内容

  • 没有找到相关文章

最新更新