在我的 Maven 项目中,我必须使用(相当大量)RPM。为了在部署过程中方便起见,我想将所有 RPM 组合到一个存档 (.tar.gz) 中。该程序集在一个单独的模块中运行,该模块依赖于所有 RPM 模块。
为此,我有以下内容assembly.xml
:
<?xml version="1.0"?>
<assembly>
<id>myproject-rpm-package</id>
<formats>
<format>tar.gz</format>
</formats>
<baseDirectory>${project.parent.parent.name}-${project.version}-rpms</baseDirectory>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<!-- Include only the RPMs -->
<include>*:rpm</include>
</includes>
<outputDirectory>/</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
这很好用,但它重命名了我所有的 RPMS 以遵循以下格式:<projectname>-<version>.rpm
. 在 RPM 命名约定中丢失有用的属性:<rpm name>-<version>-<release>.noarch.rpm
. RPMS 仍然可以正常工作。
我怀疑这来自 maven 程序集属性outputFileNameMapping。
我的假设正确吗?如果是这样,如何防止程序集插件重命名我的 RPM 文件?