【发布时间】:2018-08-18 13:09:20
【问题描述】:
我有一个 pom 构建一个 jar 并使用 rpm-maven-plugin 将其打包到一个 rpm 中。该 jar 既可用作独立应用程序,也可用作其他应用程序的依赖项,因此我需要将这两个工件都部署到本地 Nexus。我想将 jar 部署到标准的 maven-releases/maven-snapshots 存储库中,但我想将 rpm 部署到同一个 Nexus 中的不同存储库中,专门用于我们的 RPM。
我的专家知识相当基础,但我不知道如何做到这一点。我希望它不会超出 maven 哲学,因为单独的 RPM 存储库可能是不可协商的。
谢谢!
【问题讨论】:
-
首先,如果您有一个独立应用程序的 jar 并且被用作依赖项,那么我敢打赌您的 jar 包含未使用的东西,因为它被用作依赖项,这意味着您应该解耦依赖项和独立 jar(通常是单独的模块).. 现在来回答您的问题:关键是您在 maven 构建期间使用 rpm-maven-plugin 构建 rpm,这意味着正在生成的所有工件都将部署到同一个远程仓库...意思是同一个仓库。
-
问题也是为什么你有一个单独的 RPM 存储库?这个存储库是 yum 存储库还是类似的存储库?还是 Maven 存储库?
-
同意对单独的 jar 进行更广泛的重构是正确的,但我需要在不破坏一切的情况下进行迁移。单独的存储库是 Nexus 中托管的 yum 格式存储库。
-
你在使用像 Jenkins 这样的 CI 解决方案吗?
-
是的,开始把所有东西都转入 Jenkins