我发现使用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()
文档只是说:
rpm包需要一些强制设置才能有效。请确保生成中有以下设置:
rpmRelease := "1"
rpmVendor := "typesafe"
rpmUrl := Some("http://github.com/paulp/sbt-extras")
rpmLicense := Some("BSD")
这几乎是完全无用的,如果你不太了解SBT!如何在文档所指示的情况下“在构建中设置这些设置:”?
我尝试将上面的“设置”添加到build.sbt或一个单独的packageSettings.sbt中,但是由于我只得到以下错误,所以没有运气:
error: not found: value rpmRelease
rpmRelease := "1"
^
[error] Type error in expression
注意:我使用sbt rpm:packageBin
运行sbt。
发布于 2015-02-26 20:35:32
听起来,这个插件的开发人员试图不太规定性,但这样做并没有给你足够的信息,甚至没有开始!
最简单的解决方案是:将这四个设置(包括之间的空行)复制到build.sbt
中。
一个合乎逻辑的位置可能位于文件的底部,因为“打包”您的应用程序是在开发周期的“末尾”发生的事情。
另一个选项: SBT 自动组合,它在项目根目录中找到的所有.sbt
文件的内容。因此,如果您愿意,您可以创建一个新的文件,如packagingSettings.sbt
,并将这些设置放在那里。
编辑:帮助导入:
无论您选择哪个选项,您都需要在文件的顶部添加以下导入(按照入门指南):
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._
https://stackoverflow.com/questions/28749054
复制相似问题