【问题标题】:the SBT native packager does not generate any sysv /etc/init.d/ scriptSBT 本机打包程序不生成任何 sysv /etc/init.d/ 脚本
【发布时间】:2015-04-13 03:08:17
【问题描述】:

我正在为 play 2.3.8 应用程序创建一个 debian 包。

我使用以下设置:

 val settings = Seq(
   debianPackageDependencies in Debian := "openjdk-7-jre (>= 1.7.0)" :: Nil,
   maintainer in Linux := "team <support@dns.io>",
   packageSummary in Linux := "app",
   packageDescription := "description",
   serverLoading in Debian := ServerLoader.SystemV,
   linuxPackageMappings in Debian := linuxPackageMappings.value.map { p ⇒
     val newMappings = p.mappings.filterNot { f ⇒
       f._2.endsWith("conf//messages") ||
       f._2.endsWith("conf//play.plugins")
     }
     p.copy(mappings = newMappings)
   },
   daemonUser in Linux := (normalizedName in Debian).value
)

但是没有生成 /etc/init.d/ 脚本。

如果我删除 linuxPackageMappings 的转换,则会生成一个 init.d 脚本。

【问题讨论】:

    标签: playframework-2.0 sbt sbt-native-packager


    【解决方案1】:

    我没有使用linuxPackageMappings in Debian := linuxPackageMappings.value...,而是使用了linuxPackageMappings := linuxPackageMappings.value

    现在它正在工作。

    【讨论】:

    • 不同的作用域有不同的文件。这是 sbt-native-packager 工作的核心概念。在这个解决方案中,您正在过滤 每个 linux 发行版。在您的回答中,您使用的是通用 linux 映射来覆盖 linux+debian 映射。
    猜你喜欢
    • 1970-01-01
    • 2018-11-05
    • 2016-11-21
    • 2018-03-17
    • 2012-10-26
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多