Maven 2 Maven安装和部署

Maven 2 Maven安装和部署,maven-2,Maven 2,我对我们在ci服务器中的设置有一些疑问。 用于构建应用程序的maven命令在竹子中配置为“mvn安装部署” 据我所知,这将调用所有阶段,直到“安装”,然后再次调用所有阶段,直到“部署”,这意味着,正如我在日志中所看到的,应用程序将构建两次(两次编译,两次测试)等。。这也意味着应用程序的构建时间几乎是需要的两倍 所需要的只是“mvn部署”来正确构建应用程序 我的理解/观察是否正确?是的,您所要做的就是查看执行生命周期 验证-验证项目是否正确以及所有必要信息 有空吗 编译-编译项目的源代码 测试-

我对我们在ci服务器中的设置有一些疑问。 用于构建应用程序的maven命令在竹子中配置为“mvn安装部署”

据我所知,这将调用所有阶段,直到“安装”,然后再次调用所有阶段,直到“部署”,这意味着,正如我在日志中所看到的,应用程序将构建两次(两次编译,两次测试)等。。这也意味着应用程序的构建时间几乎是需要的两倍

所需要的只是“mvn部署”来正确构建应用程序


我的理解/观察是否正确?

是的,您所要做的就是查看执行生命周期

  • 验证-验证项目是否正确以及所有必要信息 有空吗
  • 编译-编译项目的源代码
  • 测试-使用合适的单元测试来测试编译的源代码 框架这些测试不应该 要求对代码进行打包或 部署
  • package—获取编译后的代码并将其打包到其可分发文件中 格式,例如JAR
  • 集成测试-处理包并在必要时将其部署到 集成测试的环境 可以运行
  • 验证-运行任何检查以验证包装是否有效并符合质量要求 标准
  • 安装-将包安装到本地存储库中,用作 本地其他项目中的依赖关系
  • 部署-在集成或发布环境中完成,复制最终 打包到远程存储库,以便 与其他开发人员和用户共享 项目

在这里,您可以看到安装发生在部署之前。重要的是要知道,当您运行deploy时,maven将运行所有其他阶段,然后说目标。因此,运行install-then-deploy将运行两次安装,然后再运行一次部署。

您的理解是正确的。单独的部署是否有助于确保只有在部署任何工件之前成功安装(编译)整个项目(和模块)时,才能实现部署?是的,您的理解是正确的。我们也在做同样的事情(即mvn pakcage部署)。这导致了一个问题,因为它运行了两次
maven-jar-plugin
,抛出了错误:
您必须使用分类器将补充工件附加到项目中,而不是替换它们。