我正在使用Play框架并遇到hotswapping问题(甚至是及时启动sbt服务器)
有几个消息来源概述了这个问题与游戏的fork运行有关,要解决这个问题,应该把它变成假。
但是什么是播放fork运行以及关闭它的缺点是什么?
BTW这里有一些参考文献:
答案 0 :(得分:4)
播放fork运行,是分支JVM的sbt的一个功能。分叉JVM意味着JVM作为独立的JVM运行,作为OS中的不同进程运行。
如果JVM未分叉,则可能是某些JVM范围的设置(例如系统属性)会影响播放实例。 其中一个优点是,当fork在多个forks中运行多个测试时崩溃,其他forks仍将继续运行。
在播放的情况下,JVM是分叉的,因此它不会在sbt运行的同一JVM进程中运行。请参阅以下内容(来自sbt documentation):
默认情况下,运行任务在与sbt相同的JVM中运行。但是,在某些情况下需要分叉。或者,您可能希望在实现新任务时分叉Java进程。
这很有用,因为如果您的播放实例崩溃,例如,当调用system.exit
或发生未终止的线程时,sbt将继续运行。否则sbt也会崩溃。
的引用:
What does it mean to have a forked java VM?
Getting Started with SBT for Scala