sbt-native-packager 和 RPM - 如何设置所需的参数?
sbt-native-packager and RPM - how do I set required parameters?
我发现使用 sbt 原生打包器构建 Play 项目很困难。当出现以下错误时,我不知道在哪里设置 RPM 配置:
[error] `rpmVendor in Rpm` is empty. Please provide a valid vendor for the rpm SPEC.
[error] `packageSummary in Rpm` is empty. Please provide a valid summary for the rpm SPEC.
[error] `packageDescription in Rpm` is empty. Please provide a valid description for the rpm SPEC.
我在 project/plugins.sbt
中设置了以下内容:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.8.0")
在我的 build.sbt:
name := """supersecretproject"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.27"
javacOptions ++= Seq("-source", "1.6", "-target", "1.6")
tomcat()
documentation 仅说明:
A rpm package needs some mandatory settings to be valid. Make sure you have these settings in your build:
rpmRelease := "1"
rpmVendor := "typesafe"
rpmUrl := Some("http://github.com/paulp/sbt-extras")
rpmLicense := Some("BSD")
如果您不太了解 SBT,这几乎完全没有用!如何按照文档说明 "have these settings in your build:"?
我尝试将上面的 "settings" 添加到 build.sbt 或单独的 packageSettings.sbt 但没有成功,因为我只收到以下错误:
error: not found: value rpmRelease
rpmRelease := "1"
^
[error] Type error in expression
注意:我运行 sbt 使用sbt rpm:packageBin
听起来该插件的开发人员试图不要过于规范,但这样做并没有为您提供足够的信息以帮助您入门! :-(
最简单的解决方案:将这四个设置(包括之间的空白行)复制到您的 build.sbt
.
合乎逻辑的位置可能在文件底部,因为“打包”您的应用程序是在开发周期“快结束”时发生的事情。
另一个选项: SBT automatically combines 它在项目根目录中找到的所有 .sbt
文件的内容。因此,如果您愿意,可以创建一个新文件,例如 packagingSettings.sbt
并将这些设置放在那里。
编辑:帮助导入:
无论选择哪个选项,都需要在文件顶部添加以下导入(根据 getting started guide):
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._
我发现使用 sbt 原生打包器构建 Play 项目很困难。当出现以下错误时,我不知道在哪里设置 RPM 配置:
[error] `rpmVendor in Rpm` is empty. Please provide a valid vendor for the rpm SPEC.
[error] `packageSummary in Rpm` is empty. Please provide a valid summary for the rpm SPEC.
[error] `packageDescription in Rpm` is empty. Please provide a valid description for the rpm SPEC.
我在 project/plugins.sbt
中设置了以下内容:
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.8.0")
在我的 build.sbt:
name := """supersecretproject"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)
libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.27"
javacOptions ++= Seq("-source", "1.6", "-target", "1.6")
tomcat()
documentation 仅说明:
A rpm package needs some mandatory settings to be valid. Make sure you have these settings in your build:
rpmRelease := "1"
rpmVendor := "typesafe"
rpmUrl := Some("http://github.com/paulp/sbt-extras")
rpmLicense := Some("BSD")
如果您不太了解 SBT,这几乎完全没有用!如何按照文档说明 "have these settings in your build:"?
我尝试将上面的 "settings" 添加到 build.sbt 或单独的 packageSettings.sbt 但没有成功,因为我只收到以下错误:
error: not found: value rpmRelease
rpmRelease := "1"
^
[error] Type error in expression
注意:我运行 sbt 使用sbt rpm:packageBin
听起来该插件的开发人员试图不要过于规范,但这样做并没有为您提供足够的信息以帮助您入门! :-(
最简单的解决方案:将这四个设置(包括之间的空白行)复制到您的 build.sbt
.
合乎逻辑的位置可能在文件底部,因为“打包”您的应用程序是在开发周期“快结束”时发生的事情。
另一个选项: SBT automatically combines 它在项目根目录中找到的所有 .sbt
文件的内容。因此,如果您愿意,可以创建一个新文件,例如 packagingSettings.sbt
并将这些设置放在那里。
编辑:帮助导入:
无论选择哪个选项,都需要在文件顶部添加以下导入(根据 getting started guide):
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._