Playframework sbt本机打包程序插件在rpm构建的Play项目中出错

Playframework sbt本机打包程序插件在rpm构建的Play项目中出错,playframework,playframework-2.0,sbt,sbt-native-packager,Playframework,Playframework 2.0,Sbt,Sbt Native Packager,我正在尝试使用RPM文件打包Play Framework应用程序,但我不知道Play Framework项目中需要的配置放在哪里 我已将插件添加到我的project/plugins.sbt文件中 // Comment to get more information during initialization logLevel := Level.Warn // The Typesafe repository resolvers += "Typesafe repository" at "http:

我正在尝试使用RPM文件打包Play Framework应用程序,但我不知道Play Framework项目中需要的配置放在哪里

我已将插件添加到我的project/plugins.sbt文件中

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

resolvers += "tomax repository" at "http://maven.tmx.com/nexus"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.1")

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.6.3")
当我运行以下命令时,我在播放中出错:

rpm:package-bin
然后按照建议运行最后一个错误命令,得到

Creating SPEC file: /projects/myproj/target/rpm/SPECS/MyProj.spec
[debug] Executing rpmbuild with: rpmbuild -bb --buildroot /projects/myproj/target/rpm/buildroot --define _topdir /projects/myproj/target/rpm --target noarch--Linux MyProj.spec
[error] error: line 4: Empty tag: Summary:
[info] Building target platforms: noarch--Linux
[info] Building for target noarch--Linux
java.lang.RuntimeException: Unable to run rpmbuild, check output for details

使sbt本机打包程序与play一起工作的一种方法是将以下内容添加到Build.scala中的设置中

val storeOpsServer = play.Project(
    "storeops-server", appVersion, appDependencies, path = file("storeops-server")
  ).settings(
    //Packaging for RPMs
    name in Rpm := "my-server",
    version in Rpm := appVersion,
    rpmRelease := "0",
    packageSummary := "Some summary of your software",
    rpmVendor := "My Corporation",
    rpmUrl := Some("http://www.mycorp.com"),
    rpmLicense := Some("MIT"),
    packageDescription := "Some description of what your server does",
    rpmGroup := Some("Group")
  ).dependsOn(adapterApi)
您不需要上面所有的值,但这些值是我使用的,并且是成功的

以下是文件中的导入

import com.typesafe.sbt.packager.linux.{LinuxPackageMapping, LinuxSymlink}
import com.typesafe.sbt.packager.rpm.RpmDependencies
import com.typesafe.sbteclipse.core._
import sbt._
import Keys._
import play.Project._

import com.typesafe.sbt.packager.Keys._
import com.typesafe.sbt.SbtNativePackager._

使sbt本机打包程序与play一起工作的一种方法是将以下内容添加到Build.scala中的设置中

val storeOpsServer = play.Project(
    "storeops-server", appVersion, appDependencies, path = file("storeops-server")
  ).settings(
    //Packaging for RPMs
    name in Rpm := "my-server",
    version in Rpm := appVersion,
    rpmRelease := "0",
    packageSummary := "Some summary of your software",
    rpmVendor := "My Corporation",
    rpmUrl := Some("http://www.mycorp.com"),
    rpmLicense := Some("MIT"),
    packageDescription := "Some description of what your server does",
    rpmGroup := Some("Group")
  ).dependsOn(adapterApi)
您不需要上面所有的值,但这些值是我使用的,并且是成功的

以下是文件中的导入

import com.typesafe.sbt.packager.linux.{LinuxPackageMapping, LinuxSymlink}
import com.typesafe.sbt.packager.rpm.RpmDependencies
import com.typesafe.sbteclipse.core._
import sbt._
import Keys._
import play.Project._

import com.typesafe.sbt.packager.Keys._
import com.typesafe.sbt.SbtNativePackager._

这看起来像个虫子。我建议您在首先检查其他人尚未提出sbt native packager项目后,向github上的sbt项目提出问题。rpm构建打印其错误:“Empty tag:Summary”表示缺少packageSummary。这看起来像个bug。我建议您在首先检查其他人尚未提出sbt native packager项目后,向github上的sbt项目提出问题。rpm构建打印其错误:“空标记:摘要”表示缺少packageSummary。回答得很好!注意:我将修复文档和错误消息,以便在您尝试构建rpm时概述所需的值。请包括使此工作正常所需的导入Collin我将导入添加到答案中,感谢您指出这一点。我喜欢看到更完整的答案。不幸的是,我们的Build.scala有点复杂,其中有几个项目。如果您需要进一步帮助,请发表评论。回答得很好!注意:我将修复文档和错误消息,以便在您尝试构建rpm时概述所需的值。请包括使此工作正常所需的导入Collin我将导入添加到答案中,感谢您指出这一点。我喜欢看到更完整的答案。不幸的是,我们的Build.scala有点复杂,其中有几个项目。如果需要进一步帮助,请发表评论。