尽管将 rpmBrpJavaRepackJars 设置为 false,sbt-native-packager rpm brp-java-repack-jars 仍然 运行

sbt-native-packager rpm brp-java-repack-jars still running despite setting rpmBrpJavaRepackJars to false

我正在尝试使用 sbt-native-packager 构建一个 rpm。它像这样包含在我的项目中:

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.0-RC1")

我正在像这样开始构建过程:

sbt rpm:packageBin

此时构建过程花费了很长时间:

[error] + /usr/lib/rpm/redhat/brp-compress
[error] + /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
[error] + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
[error] + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
[error] + /usr/lib/rpm/brp-python-bytecompile
[error] + /usr/lib/rpm/redhat/brp-python-hardlink
[error] + /usr/lib/rpm/redhat/brp-java-repack-jars

我找到了这个 Github issue 并尝试将 rpmBrpJavaRepackJars := false 添加到我的 build.sbt 但它似乎没有影响 rpm 构建过程。这是我的 build.sbt 的相关部分的样子:

enablePlugins(JavaAppPackaging)
enablePlugins(RpmPlugin)
linuxPackageMappings in Rpm := linuxPackageMappings.value
rpmVendor := "Testing"
rpmGroup := Some("Applications")
rpmUrl := Some("None")
rpmLicense := Some("GPL")
rpmBrpJavaRepackJars := false

我是否正确配置了 rpm 插件和 rpmBrpJavaRepackJars 选项?

这看起来像是 native-packager 中的错误。你能用你的描述打开一个问题 this line.

rpmBrpJavaRepackJars 是从无效范围读取的。试试这个作为解决方法:

rpmBrpJavaRepackJars in Rpm := false

绝对是回归。

干杯, 向

我已经提交了 pull request to fix this issue. It is fixed as of version v1.2.0-M8

所以你需要:

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M8")

然后

rpmBrpJavaRepackJars := false

应该可以。 It is also the default now,因此即使您不将其设置为 false,它也会跳过 RPM 重新打包。