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

如何使用Maven部署本地已安装的工件 故事,maven,maven-3,tycho,maven-deploy-plugin,Maven,Maven 3,Tycho,Maven Deploy Plugin,我知道,maven deploy命令贯穿整个生命周期。我的问题是,对我来说要花很多时间。让我解释一下: 有一个从服务器构建的应用程序和一个单一来源的EclipseRAP&RCP客户端 通信由共同构建的共享API项目定义 有了服务器,还需要GUI项目 GUI项目是由第谷构建的,因此不可能构建 它们都在一个构建中(在一个反应堆中,编辑:,因为RCP和RAP的P2工件不同) 我使用多步骤Jenkins构建构建了一个发行版。为了确保这一点 一切正常我首先对服务器和 GUI变体一个接一个,然后我部署它们

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

  • 有一个从服务器构建的应用程序和一个单一来源的EclipseRAP&RCP客户端
  • 通信由共同构建的共享API项目定义 有了服务器,还需要GUI项目
  • GUI项目是由第谷构建的,因此不可能构建 它们都在一个构建中(在一个反应堆中,编辑:,因为RCP和RAP的P2工件不同)
  • 我使用多步骤Jenkins构建构建了一个发行版。为了确保这一点 一切正常我首先对服务器和 GUI变体一个接一个,然后我部署它们,如果没有失败的话
问题:
每件东西都要建造两次,这需要很多时间。是否有任何类似的“<强> >请简单地部署所有构建的工件<强>,因为它们是从我的本地存储库到POM定义的存储库<强>跳过整个生命周期>“

>P>”,如果您已经有了以前构建的工件,您可以考虑以下内容:我总是使用这个目标将一些稳定的工件发布到开发人员公共远程存储库,以便让其他团队进行测试/使用


我希望这会有所帮助。

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


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

我觉得您不了解maven的生命周期,因为如果您调用mvn deploy,安装就是其中的一部分。因此,调用第一个mvn安装,然后调用第二个mvn部署是没有意义的。我添加了一个小的编辑以使其更清楚。您使用的是Artifactory或Nexus之类的存储库管理器吗?我们使用的是Nexus的免费版本。请参阅我的其他问题和答案,看看您是否正在尝试实际部署当前安装在您的存储库中的构件
.m2/repository
maven抱怨有一个错误:``无法从本地存储库部署工件```(试图找到解决方法)