2016-12-29 51 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