当前位置: 首页 > 知识库问答 >
问题:

rpm maven插件:将jar和rpm部署到不同的存储库中

越英范
2023-03-14

我有一个pom构建了一个jar,并使用rpm maven插件将其打包成rpm。jar既用作独立应用程序,也用作其他应用程序的依赖项,因此我需要将这两个构件部署到本地Nexus。我希望将jar部署到标准的maven releases/maven snapshots存储库中,但我希望将rpm部署到同一个Nexus中的另一个存储库中,该存储库仅用于我们的rpm。

我的专业知识相当基础,但我不知道如何做到这一点。我希望它不会超出maven的理念,我不能,因为单独的RPM存储库可能是不可协商的。

谢谢

共有1个答案

印成天
2023-03-14

我也有同样的情况。我的解决方案是创建一个子目录/子模块,专门用于使用rpm插件生成rpm(我将该模块命名为create rpm)。在该子模块中,我创建了一个maven概要文件(也称为create rpm),其中包含指向rpm/yum repos的不同distributionManagement元素。因此,为了构建我的项目,我接到了两个maven电话:

“mvn部署”生成/上传jar/war等工件,“mvn部署-P create-rpms-f create-rpms/pom.xml”创建/上传rpms。

这种方法还允许基于Windows的开发人员使用常规maven在本地编译,但随后在基于Linux的Jenkins服务器上使用第二个maven调用。

希望这有帮助。

 类似资料:
  • 我们有一个Jenkins Maven构建运行在一个Windows从机上,它在每次提交时都运行Maven包。我正在尝试使用升级的构建插件来将升级的构建部署到nexus发布存储库中。 我设置了“升级生成时...”要手动批准和“将工件部署到Maven存储库”的操作,请将存储库URL设置为“http://example.com:8081/nexus/content/repositories/release

  • 需要根据特定环境从两个远程存储库部署工件。所以我尝试在pom.xml的分发管理中使用配置文件 尝试激活个人资料 我得到以下错误。 部署失败:存储库元素没有指定在POM内部分布管理元素或在-DaltDeploymentRepository=id::布局::url参数 似乎pom无法识别分发管理标签。 但它在没有单一分销管理的配置文件的情况下运行良好。 有谁能给点建议吗? 参考 设置Maven以允许轻

  • 因此,我在gitlab上有一个项目test-project(https://gitlab.com/group/test-project),这是一个我使用gitlab管道构建和部署的java应用程序。在构建阶段,我正在执行,包test-project.jar被推送到gitlab maven存储库(https://gitlab.com/group/test-project/-/packages)。 现

  • 问题内容: 我们有许多Java项目,这些项目是使用Jenkins构建的CI。这些都可以部署到我们自己的Nexus服务器上。问题是,我们需要将这些库提供给第三方,但没有源代码。因此,对于每个项目,在Nexus中,我们都有: __为我们的开发人员 发布 存储库(包括已部署的源代码) __我们开发人员的 快照 存储库(包括已部署的源代码) 第三方发布 存储库(仅JAR + POM) (并且很高兴拥有):

  • 我们有许多Java项目,它们是由Jenkins构建的。这些都部署到了我们自己的Nexus服务器上。问题是,我们需要向第三方提供这些库,但没有源代码。因此,对于每个项目,在Nexus中,我们有: 为我们的开发人员发布存储库(包括部署的源代码) 我们开发人员的快照存储库(包括部署的源代码) 第三方发布存储库(仅限JAR POM) (最好有):第三方快照存储库(仅限JAR POM),用于第三方夜间构建

  • 我试图使用maven shade插件构建uber jar(构建docker映像),并将项目jar部署到maven存储库。我不想将uber jar部署到maven Repo。因此,要么我需要能够从maven deploy插件中排除特定文件,要么让maven shade插件将uber jar放在不同的位置,这样deploy插件就不会接收到它。 这两件事都有可能吗?