我有一个使用"sbt run"运行良好的SBT scala应用程序.但是,这会锁定控制台,我宁愿将其作为服务/守护程序启动,以便我可以使用控制台,以便我可以将其添加到init.d以确保我的应用程序在启动时自动启动.
我似乎找不到办法做到这一点.运行"sbt run&"似乎将应用程序挂起在后台.
有人知道怎么做这个吗?
小智 9
你也可以使用sbt-assembly或sbt-onejar将你的应用程序装入一个"胖"的jar中.
这将使它成为一个可执行的jar并且可以轻松运行java -jar jarname.jar.
我们一直在init.d中使用SBT启动测试/演示应用程序:
#!/bin/sh
# test lift web app
case "$1" in
'start')
cd /home/demouser/wa/HTML5DemoLift231/HTML5demo/
sbt jetty run
;;
'stop')
cd /home/demouser/wa/HTML5DemoLift231/HTML5demo/
sbt jetty stop
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0
Run Code Online (Sandbox Code Playgroud)
这只是有效 - 我们没有遇到任何问题.但是,对于非Web应用程序可能会有所不同.
您可以使用GNU Screen将其保留在后台.无论如何,我不能认为这是一个很好的理由.打包应用程序并在后台运行生成的二进制文件不是更好吗?
| 归档时间: |
|
| 查看次数: |
6311 次 |
| 最近记录: |