9

故事

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

  • 有一个从服务器构建的应用程序,以及一个单一来源的 Eclipse RAP&RCP客户端
  • 通信由与服务器一起构建的共享 API 项目定义,但 GUI 项目也需要
  • GUI项目是由 Tycho 构建的,因此不可能在一个构建中构建它们(在一个反应​​器中,编辑:因为 P2 工件对于 RCP 和 RAP 是不同的)
  • 我使用多步 Jenkins 构建构建了一个版本。为了确保一切正常,我首先对服务器和 GUI 变体进行了全新安装,然后部署它们,如果没有失败

问题

将所有内容构建两次需要大量时间。有没有类似“请简单地将所有构建的工件从我的本地存储库部署到 POM 定义的存储库并跳过整个生命周期”?

4

2 回答 2

6

如果您已经拥有先前构建的工件,则可以按照将 3rd 方 JAR 部署到远程存储库的指南来考虑部署:部署文件。我总是使用这个目标将一些稳定的工件发布到开发人员公共远程存储库,以便让其他团队测试/使用。

我希望这可能会有所帮助。

于 2013-03-08T00:46:05.230 回答
2

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

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

于 2013-03-08T08:04:26.787 回答