如何使用Maven部署本地已安装的工件

时间:2013-03-07 21:01:22

标签: maven maven-3 tycho maven-deploy-plugin

故事

我知道,maven deploy命令贯穿整个生命周期。我的问题是,我需要花费很多时间。让我解释一下:

  • 服务器和单一来源的Eclipse RAP& RCP 客户端
  • 构建了一个应用程序
  • 通信由共享API项目定义,它们是一起构建的 与服务器,但GUI项目也需要
  • GUI 项目由Tycho 构建,因此无法构建 两个都在一个版本中(在一个反应​​堆中,编辑:,因为P2工件对于RCP和RAP是不同的)
  • 我使用多步Jenkins构建版本。为了确保,那 一切都很好我首先做一个干净安装的服务器和 GUI变体一个接一个,然后我部署它们,如果没有任何失败

问题

两次建造一切都需要花费很多时间。有没有类似“ 请简单地将所有构建的工件 部署到POM定义的存储库,而不是将所有构建的工件 部署到整个生命周期 的“?

2 个答案:

答案 0 :(得分:4)

如果上一版本中已有工件,则可以按照deploy:deploy-file考虑​​Guide to deploying 3rd party JARs to remote repository。我总是使用这个目标将一些稳定的工件发布到开发人员公共远程存储库,以便让其他团队进行测试/使用。

我希望这可能有所帮助。

答案 1 :(得分:2)

我认为没有纯粹的Maven解决方案。问题是您的仅部署构建将不知道要部署哪些工件 - AFAIK此信息仅在内存中的Maven模型中,而不是持久保存到目标文件夹。

问题可以通过支持暂存的Maven存储库管理器来解决,例如(商业)Nexus Pro。然后,您的构建将直接部署到临时存储库,并且只有在一切成功的情况下才将工件提升到(主)存储库。