0

我有一个 pom 构建一个 jar 并使用 rpm-maven-plugin 将其打包到一个 rpm 中。该 jar 既可用作独立应用程序,也可用作其他应用程序的依赖项,因此我需要将这两个工件都部署到本地 Nexus。我想将 jar 部署到标准的 maven-releases/maven-snapshots 存储库中,但是我想将 rpm 部署到专用于我们 RPMS 的同一个 Nexus 中的不同存储库中。

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

谢谢!

4

1 回答 1

0

我也有同样的情况。我的解决方案是创建一个子目录/子模块,专门用于使用 rpm 插件生成 rpm(我将模块命名为 create-rpms)。在那个子模块中,我创建了一个 Maven 配置文件(也称为 create-rpms),其中包含指向 rpm/yum 存储库的不同分布管理元素。为了构建我的项目,我有 2 个 maven 调用:

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

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

希望这可以帮助。

于 2018-12-13T19:25:55.407 回答