Warm tip: This article is reproduced from serverfault.com, please click

maven-分叉的VM在没有正确说再见的情况下终止。

(maven - The forked VM terminated without properly saying goodbye. VM crash or System.exit called)

发布于 2020-12-07 13:16:37

我写测试。我正在使用Cucumber 6.8.1TestNG 7.0.0对于并行化,我连接了maven-surefire-plugin 2.22.2但是我现在还没有并行测试,此刻我仅一个一个地运行所有测试

大多数测试工作良好(大约45个测试)。但是有几个有问题的测试,即:运行这样的测试时,出现错误“分叉的VM在没有正确说再见的情况下终止了。VM崩溃还是调用了System.exit?”。这是全文:

在此处输入图片说明

我在Google中搜索了此错误。而且我已经读到它与maven-surefire-plugin连接在Internet中,人们提供了解决此问题的不同方法。例如,更改maven插件的版本。目前,我的版本是2.22.2。我尝试了不同的版本:3.0.0-M5、3.0.0-M4、3.0.0-M3、3.0.0-M2、3.0.0-M1、2.22.1、2.22.0、2.21.0、2.20。结果是相同的:我得到了错误。

我也尝试 在maven-surefire-plugin配置中编写参数 -Xmx1024m -XX:MaxPermSize = 256m这也没有帮助。

而且我也不认为这是由于某些资源不足造成的。在运行这些有问题的测试期间,监视不会显示出特别大的资源消耗:

在此处输入图片说明

你能给我一些其他的想法吗?

Questioner
alex_t
Viewed
0
tibor17 2020-12-08 23:04:23

根据你的日志,Crashed tests,有一个测试类未正确完成。尝试找出正在调用System.exit()or的库或代码 Runtime.getRuntime.halt()由于OSS库的实现退出流程,人们在系统退出方面遇到了这些问题。请查看stackowerflow中提示,并尝试使用Java中SystemManager来查找问题