在 Play 2.6 上使用 stb-native-packager 和 Debian 和 SystemV

Posted

技术标签:

【中文标题】在 Play 2.6 上使用 stb-native-packager 和 Debian 和 SystemV【英文标题】:Using stb-native-packager with Debian and SystemV on Play 2.6 【发布时间】:2020-07-16 16:54:54 【问题描述】:

我已从 Play 升级! 2.6 两人玩! 2,6,但现在我无法部署我的应用程序。

我曾经有过

import com.typesafe.sbt.packager.archetypes.ServerLoader.SystemV
serverLoading in Debian := ServerLoader.SystemV

但是现在有插件,所以我添加了它。我以为我使用了 SystemV,但也尝试了 systemd。两者都不会生成它在 2.5 中生成的任何 init.d 脚本。

lazy val knockadoonserver = (project in file(".")).enablePlugins(PlayJava, PlayEbean, DebianPlugin, SystemdPlugin)

我还需要做什么? 我整天都在这个问题上,找不到解决方案。

【问题讨论】:

你在用什么任务?当我运行debian:stage 时,它会在target/<project>-<version>/... 中生成服务文件 我可以确认它现在正在工作。我已经完全重建了我的项目,也许我在改变它的操作之间的某个地方更改了配置参数。我昨天尝试了 Play 中的一个示例项目!而且它也不起作用,所以可能是某个地方的旧版本有问题? 【参考方案1】:

这有点令人困惑,您将新旧 API 混合在一起。

serverloading 设置是旧 API。在较新的版本中,您可以通过 AutoPlugin 启用系统加载类型,这几乎是正确的( Systemd 而不是 SystemV )。

这是文档:https://sbt-native-packager.readthedocs.io/en/latest/archetypes/systemloaders.html#systemv

干杯, 渚

【讨论】:

我不知道具体原因,但它开始起作用了。现在 SBT 开始说: [IJ]sbt:knockadoon> debian:packageBin [error] 没有这样的设置/任务 [error] debian:packageBin [error] 但它仍然可以在 activator 中工作,所以目前已经足够了。我将注释掉过时的行,看看下一次部署是否还可以,当时我正在尝试不同的设置组合。

以上是关于在 Play 2.6 上使用 stb-native-packager 和 Debian 和 SystemV的主要内容,如果未能解决你的问题,请参考以下文章

无法使用Play-2.6和Quill.io加载配置的数据源

将 Play 框架中的 WebSockets 从 2.4 版转换为 2.6 版

如何在 Play 2.6 控制器中使“CustomExecutionContext”可用于依赖注入?

为 play framework 2.6 配置的默认控制器包在哪里?

在Play 2.6的conf文件中Hikari,Quill和Postgres之间的冲突

Scala Play Framework 2.6密封特征格式给Json