我正在构建一个包含 3PP 软件和其他配置文件的 rpm 包。当我不包含配置文件时,rpm 构建正确,但是当我包含配置文件时,rpm 构建但在实验室中安装 3PP 软件失败。这是我的 pom.xml 的快照:
<properties>
<rpm-root>/opt</rpm-root>
<comp-name>mycompany</comp-name>
<install-path>mgmt</install-path>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<configuration>
<mappings>
<mapping>
<directory>${rpm-root}</directory>
<configuration>true</configuration>
<sources>
<source>
<location>src/main/binary</location>
</source>
</sources>
</mapping>
<mapping>
<directory>${rpm-root}/${comp-name}/${install-path}/config</directory>
<directoryIncluded>false</directoryIncluded>
<configuration>true</configuration>
<sources>
<source>
<location>src/main/config</location>
</source>
</sources>
</mapping>
</mappings>
</configuration>
</plugin>
在 src/main/binary 这就是我所拥有的: ls -ltr src/main//binary/opendj
opendj 是我打包的 3PP 软件。
使用上面的 pom.xml 这就是我得到的:
/opt/mycompany/mgmt/config/mgmt.properties
/opt/opendj/Legal/license_to_accept.txt
/opt/opendj/QuickSetup.app/Contents/Info.plist
在这种情况下,3PP(opendj)的安装失败
如果我没有在 rpm 插件中包含配置文件,这就是我得到的:
**/opt
/opt/opendj**
/opt/opendj/Legal
/opt/opendj/Legal/license_to_accept.txt
/opt/opendj/QuickSetup.app
/opt/opendj/QuickSetup.app/Contents
/opt/opendj/QuickSetup.app/Contents/Info.plist
您可以看到,在这种情况下,包创建了目录 /opt 和 /opt/opednj 等。在这种情况下,3PP (opendj) 的安装成功。
谢谢!