1

我正在构建一个包含 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) 的安装成功。

谢谢!

4

0 回答 0