我已经翻遍了官方文档,但没有找到答案。似乎没有任何参数可以影响生成的 rpm 的名称。
我正在为此执行 rpm:rpm 目标:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.whatever</groupId>
<artifactId>myapp</artifactId>
<version>0.3.5</version>
<name>myapp</name>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1.4</version>
<executions>
<execution>
<id>generate-rpm</id>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<group>Application/Engineering</group>
<changelogFile>src/changelog</changelogFile>
<mappings>
...
</mappings>
</configuration>
</plugin>
它为我生成了一个名为
myapp-0.3.5.noarch.rpm-0.3.5-1.noarch.rpm
.
我希望myapp-0.3.5.noarch.rpm
或myapp-0.3.5-1.noarch.rpm
。为什么重复的版本号和“noarch.rpm”?我究竟做错了什么?
此外,通过上述配置,如果我们执行安装目标,则此 RPM 不会安装到本地 .m2 存储库中。作为练习,给定官方示例,我们应该期望生成的 rpm 具有什么名称?文档没有说。
或者也许我只是不明白插件作者在标记这种情况时所说的“ RPM as Side Effect ”是什么意思。
如果我将上面的执行更改为
<executions>
<execution>
<id>attach-rpm</id>
<goals>
<goal>attached-rpm</goal>
</goals>
</execution>
</executions>
如“RPM 作为次要工件”部分所述,你瞧,插件做了我所期望的,即它生成 myapp-0.3.5.noarch.rpm 并放入预期位置的 m2 存储库中。
我想这就是我问题的“答案”,但这仍然有点奇怪。根据描述,我对“辅助”选项将 rpm 放入 m2 存储库并不感到惊讶,但我不明白奇怪的命名。恕我直言,这些选项的命名和描述缺少一些东西。