拥有分叉的java VM意味着什么?

Dez*_*rik 9 java virtual-machine

我运行JUnit测试时有时会遇到此错误.

我并不是在问这个错误是什么.我只是想知道java VM分叉时它意味着什么?

Bru*_*uno 25

"分叉的VM"不是错误(尽管您获得的错误可能与它有关).

编译和测试的各个方面(例如Maven)中涉及的一些工具是用Java编写的,并使用JVM自行运行.

如果您为应用程序运行单元测试而不分支VM,Maven将在Maven运行的同一个VM中运行这些测试.因此,它可能受某些VM范围设置(例如某些系统属性)的影响.

为了避免由于Maven引起的副作用,可以在分叉的VM中运行测试,也就是说,在作为OS中的不同进程运行的完全独立的VM中运行.

(这可以应用于其他工具,Maven只是一个例子.)

破坏分叉的VM至少可以让您回到启动并编排这些单元测试的其他Java应用程序.如果您在同一个VM中运行这些测试,那么您也会使启动测试的应用程序崩溃(从而获得非常少的信息).