Java 在使用RPM maven插件构建RPM时,删除对Python的依赖
我正在使用rpm maven插件构建一个rpm,作为我的mvn构建的一部分,该构建稍后将安装在没有Python的docker映像中。项目中也没有使用Python。但由于某些原因,生成的等级库文件具有以下行Java 在使用RPM maven插件构建RPM时,删除对Python的依赖,java,maven,rpm,rpm-maven-plugin,Java,Maven,Rpm,Rpm Maven Plugin,我正在使用rpm maven插件构建一个rpm,作为我的mvn构建的一部分,该构建稍后将安装在没有Python的docker映像中。项目中也没有使用Python。但由于某些原因,生成的等级库文件具有以下行 Requires: python >= 2.6 我试着把它放进去 <autoRequires>no</autoRequires> <autoProvides>no</autoProvides> 否 不 但效果不太好。这导致docker
Requires: python >= 2.6
我试着把它放进去
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
否
不
但效果不太好。这导致docker构建失败,因为rpm安装由于缺少依赖项而失败。如何消除对python的依赖
以下是我的pom.xml的摘录
...
<version.rpm-maven-plugin>2.2.0</version.rpm-maven-plugin>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-rpm</id>
<phase>package</phase>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<group>XXX</group>
<vendor>XXX</vendor>
<copyTo>
target/${install.package.name}-${project.version}.rpm
</copyTo>
<targetOS>linux</targetOS>
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<mappings>
...
</mappings>
<preinstallScriptlet>
<scriptFile>${basedir}/src/main/package/control/preinst</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>${basedir}/src/main/package/control/postinst</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</postinstallScriptlet>
<preremoveScriptlet>
<scriptFile>${basedir}/src/main/package/control/prerm</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preremoveScriptlet>
<postremoveScriptlet>
<scriptFile>${basedir}/src/main/package/control/postrm</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</postremoveScriptlet>
<cleanScriptlet>
<script>rm -rf ${project.build.directory}/rpm/buildroot</script>
</cleanScriptlet>
</configuration>
</plugin>
。。。
2.2.0
...
org.codehaus.mojo
rpm maven插件
生成rpm
包裹
转速
XXX
XXX
target/${install.package.name}-${project.version}.rpm
linux
不
不
...
${basedir}/src/main/package/control/preinst
utf-8
${basedir}/src/main/package/control/postinst
utf-8
${basedir}/src/main/package/control/prerm
utf-8
${basedir}/src/main/package/control/postrm
utf-8
rm-rf${project.build.directory}/rpm/buildroot
maven版本:3.5.4
目标docker映像运行的是简单的SLES linux,只包含所需内容,没有Python 通过手动覆盖requires部分使其正常工作
...
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<requires>
<require>java-11-openjdk-headless</require>
</requires>
...
。。。
不
不
java-11-openjdk-headless
...