【发布时间】:2018-03-22 07:48:12
【问题描述】:
我很想找到一种更好的方法来运行我的 SBT 项目,通过连续构建(编译)和运行,SBT 已经可以进行连续编译和测试,但不能使用 run 命令,除非我不知道这是怎么做到的是可能的。
我尝试在run 上使用~ 命令,但它什么也没做
sbt clean compile ~run
我尝试使用 spray sbt 插件
addSbtPlugin("io.spray" % "sbt-revolver" % "0.9.1")
但它是如此的情绪化并且在尝试终止当前进程时挂起很多,从而更快地杀死应用程序然后运行sbt clean compile run
有没有办法做到这一点?
【问题讨论】:
-
你说什么都不做是什么意思?
sbt clean ~run对我来说很好用(compile有多余的)。您更改源,它会重新运行程序。您期望哪种行为? -
我希望如果我编辑 scala 文件,它会重新编译并重新启动应用程序,我有一个码头服务器,上面运行着一些基本的东西,比如旋转模板
-
问题是你的 main 没有返回。 sbt 不会杀死它重新运行。所以我认为使用 sbt-revolver 是你最好的选择。如果您对此有一些特殊问题,您可以在问题中添加详细信息(或提出新问题)。上次我使用它时,效果非常好,所以可能与您的设置有关。
-
hmmm... 有趣的猜测,我的主类有一个码头服务器开始,最后我调用了一个单独的方法来处理停机
sys.addShutdownHook停止码头服务器,你呢认为我应该返回一些具体的东西? -
不,我的意思是您的主要方法不会终止(因为服务器不应该终止)。所以当它运行时,sbt 不会中断它。但我认为 sbt-revolver 可以。
标签: sbt