我正在实施Play框架的PlayRunHook
特征并覆盖afterStarted
和afterStopped
方法,如下所示:
object PlayHooks extends PlayRunHook {
override def afterStarted(add: InetSocketAddress): Unit = {
println("started")
}
override def afterStopped(): Unit = {
println("stopped")
}
}
在Linux机器上,两个钩子都按预期调用(前者位于sbt run
,后者位于CTRL + D
或CTRL + C
。)
在Windows上,调用afterStarted
挂钩,但是当我停止sbt时,它会立即停止,并且根本不会调用afterStopped
方法。如果我使用调试器运行它,afterStopped
方法中的断点永远不会被命中。
我需要做一些特定于Windows的事情吗?