我有一个pom来建造一个罐子,并使用rpm-maven-plugin将其包装成rpm。该jar既可以用作独立应用程序,也可以用作其他应用程序的依赖项,因此我需要将这两个工件都部署到我们的本地Nexus。我想将jar部署到标准的maven-releases / maven-snapshots存储库中,但是我想将rpm部署到专用于我们RPMS的同一个Nexus中的另一个存储库中。
我的Maven知识非常基础,但是我不知道如何做到这一点。我希望这不是我不能超越的Maven理念,因为单独的RPM存储库可能是不可商议的。
谢谢!
答案 0 :(得分:0)
我也有同样的情况。我的解决方案是创建一个子目录/子模块,专门使用rpm插件生成rpm(我将其命名为create-rpms模块)。在该子模块中,我创建了一个maven配置文件(也称为create-rpms),该配置文件具有指向rpm / yum存储库的不同distributionManagement元素。因此,要构建我的项目,我有2个Maven调用:
“ mvn deploy”以生成/上传jar / war等工件, “ mvn deploy -P create-rpms -f create-rpms / pom.xml”来创建/上传rpm。
这种方法的另一个好处是允许基于Windows的开发人员使用常规的maven在本地进行编译,然后在基于Linux的Jenkins服务器上使用第二个maven调用。
希望这会有所帮助。