2016-12-29 59 views

回答

4

播放叉来看,是在JVM被分支SBT的功能。分叉JVM意味着JVM作为单独的JVM运行,作为OS中的不同进程运行。

如果没有分叉JVM,则可能是某些JVM宽度设置(例如系统属性)会影响播放实例。 其中一个优点是当叉子崩溃时,例如当您在多个叉子上运行多个测试时,其他叉子仍然会继续运行。

在播放的情况下,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