【问题标题】:SBT rpm:package-bin fails with config not found errorSBT rpm:package-bin 失败并出现 config not found 错误
【发布时间】:2016-01-02 22:44:33
【问题描述】:

我正在尝试将 rpmPlugin 集成到 Build.scala 中,但似乎无法识别 rpm 配置。以下是我的配置在 Build.scala 中的样子

enablePlugins(RpmPlugin)
lazy val packageSettings =  Seq(
  packageName in Rpm := "noname",
  version in Rpm := "1.0.0",
  rpmRelease in Rpm := Some("1"),
  packageArchitecture in Rpm := "noArch",
  packageSummary := "zyx",
  packageDescription := "zyx",
  rpmVendor  := "zyx",
  rpmUrl := "zyx",
  rpmLicense := "zyx"
)

我在 plugin.sbt 中也有关注

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

以下是 build.scala 中的导入

import Keys._
import sbtassembly.AssemblyKeys._
import scoverage.ScoverageSbtPlugin.ScoverageKeys._
import com.typesafe.sbt.SbtNativePackager._
import com.typesafe.sbt.SbtNativePackager.autoImport._
import com.typesafe.sbt.packager.rpm.RpmPlugin
import com.typesafe.sbt.packager.archetypes.JavaServerAppPackaging

当我运行 rpm package 命令时,有了所有这些信息...我得到以下错误(这些错误的多个)

[info] Compiling 1 Scala source to /home/vikrant/project/target/scala-2.10/sbt-0.13/classes...
[error] /home/vikrant/project/Build.scala:46: not found: value rpmRelease
[error]     rpmRelease := Some("1"),
[error]     ^
[error] /home/vikrant/project/Build.scala:48: not found: value packageArchitecture
[error]     packageArchitecture in Rpm := "noArch",
[error]     ^
[error] /home/vikrant/project/Build.scala:54: not found: value rpmVendor
[error]     rpmVendor  := "zyx",
[error]     ^
[error] /home/vikrant/project/Build.scala:56: not found: value rpmUrl
[error]     rpmUrl := "zyx",
[error]     ^
[error] /home/vikrant/project/Build.scala:58: not found: value rpmLicense
[error]     rpmLicense := "zyx"
[error]     ^
[error] 5 errors found
[error] (compile:compileIncremental) Compilation failed

请告知我可以做些什么来摆脱这个错误。文档不是很有帮助,似乎是为 Buid.sbt 用法编写的。

【问题讨论】:

    标签: scala sbt rpm sbt-native-packager


    【解决方案1】:

    【讨论】:

    • 事实上,这就是我开始的方式......但效果不佳。我正在添加更多有问题的细节。
    • 如果尚未在此处提交问题,您可能需要提交问题:github.com/sbt/sbt-native-packager/…
    【解决方案2】:

    似乎这个功能对我们放置配置的顺序很严格。 当其他一切都失败时,我尝试使用配置顺序..并且以下工作正常。

    version in Rpm := "1.0.0",
    maintainer := "someValue",
    packageArchitecture in Rpm := ""someValue"",
    packageSummary in Rpm := ""someValue"",
    packageDescription in Rpm := ""someValue"",
    packageName in Linux := ""someValue"",
    rpmRelease := "1",
    rpmVendor := ""someValue"",
    rpmLicense := Some(""someValue"")
    

    当然,这可能不是修复它的正确方法......但它让我畅通无阻。不过要打开 SBT 的问题。

    【讨论】:

    • 我建议不要再使用Build.scala。而是尝试将设置放入您的build.sbt 并将自定义逻辑放入AutoPluginsBuild.scalaAutoPlugins 有一些限制
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 2015-08-11
    相关资源
    最近更新 更多