所以我可以成功地使用 maven RPM 插件来按预期生成 RPM 工件。
我在 pom.xml(打包为 pom)中使用附加的 rpm 目标,以便 RPM 插件将工件安装到本地 m2 存储库中(因为它绑定到包阶段)。
问题:RPM生成的名字很好,如下:code-module-1.0.3-SNAPSHOT20120727095507.amd64.rpm
但是,当 maven 将其安装到我的本地仓库时,我最终得到:
代码模块-rpm-1.0.3-SNAPSHOT-rpm.rpm
我丢失了全名,RPM 的体系结构部分,而是 Maven 将 rpm 附加到 .rpm 扩展名(我尚未定义的分类器)之前的名称末尾,并使用我的 pom 工件 ID 作为 rpm 名称代替rpm 名称本身。
我尝试使用 build-helper 插件指向目标目录中生成的 RPM,但这不起作用,因为 rpm 名称是动态生成的,并且 build-helper 插件只接受完整的文件名,没有通配符等。
我不想更改工件的最终名称,因为我会打破 maven 约定。
这是Maven输出:
[INFO] Installing /home/xzcx/Development/repository/svn/source/parent-project
/code-module-rpm/target/rpm/code-module/RPMS/amd64/code-module-1.0.3-
SNAPSHOT20120727145507.amd64.rpm to
/home/xzcx/.m2/repository/com/xpackage/ypackage/codepackage/code-module-rpm/1.0.3-
SNAPSHOT/code-module-rpm-1.0.3-SNAPSHOT-rpm.rpm
请问有什么想法吗?
更新:我注意到 RPM 插件站点声明使用附加的:RPM 目标将允许您使用不同的架构等构建多个 RPM...但基于上述,唯一可行的方法是使用分类器作为RPM 名称的 arch 位不会转移到本地 repo 上的安装中。