xsbt-web-plugin 在 sbt 之外运行 web servlet 容器



我正在使用xsbt-web-plugin来托管我的servlet。 它工作正常,使用 container:start .

我现在需要它在后台运行,就像一个守护程序,即使我挂断了,理想情况下,即使机器重新启动。 我宁愿不必调用 sbt。

我知道该插件可以打包 WAR 文件,但我没有运行 tomcat 或类似的东西。 我只想做container:start做的事情,但以一种更强大(阅读:非交互式(的方式。

(我的目标是开发演示:我讨厌我的 ssh 会话在人们使用演示时放弃 sbt 或类似的东西。 但是我们还没有准备好投入生产,也没有 servlet 基础设施。

XSBT-web-plugin 实际上并不是要充当生产服务器(具有自动重启、故障恢复、启动时运行等功能(,但是我理解以这种方式将其用于小规模开发目的的效用。

您有以下几种选择:

第一种方法

在屏幕会话中运行 sbt,您可以随意(取消(连接而不会中断 sbt。

第二种方法

重写在 sbt 的退出挂钩上触发的 shutdown 函数,以便在 sbt 停止后容器继续运行。

对于此方法,请将以下设置添加到 sbt 配置:

build.sbt:

onLoad in Global := { state => state }

请注意,这将完全覆盖 onLoad 设置,因此在(不太可能(将其配置为执行其他重要操作的情况下,它们不会发生。

现在,您可以通过从 sbt 运行 container:start 然后退出 sbt 来启动容器,或者只需从命令行运行 sbt container:start,命令行将在分叉容器 JVM 后返回。 给它几秒钟,然后你应该能够请求本地主机:8080

相关内容

  • 没有找到相关文章

最新更新