我正在使用 rpm-maven-plugin 構建 rpm 作為 mvn 構建的一部分,稍后將其安裝在沒有 Python 的 docker 映像中。該項目中也沒有使用Python。但由于某種原因,生成的規范文件有以下行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>Maven版本:3.5.4。目標 docker 鏡像運行簡單的 SLES linux,只包含所需的內容,并且沒有 Python。
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
通過手動覆蓋需求部分讓它工作
...
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<requires>
<require>java-11-openjdk-headless</require>
</requires>
...
添加回答
舉報
0/150
提交
取消