在运行单元测试时,出现以下异常:
org.apache.maven.lifecycle.LifecycleExecutionException: ExecutionException; nested exception is java.util.concurrent.ExecutionException: java.lang.RuntimeException: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
有什么建议吗?
我也有同样的问题。结果是我更新了我的libs而没有更新我的java版本,而且我的servlet有点太新了。罐子在“分叉VM bla异常”之前,我在日志中发现了以下消息:
Caused by: java.lang.UnsupportedClassVersionError: javax/servlet/ServletRequest : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getMethod0(Class.java:2670)
at java.lang.Class.getMethod(Class.java:1603)
at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:64)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:59)
at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:54)
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:51)
at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:97)
at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:194)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:92)
更新JVM有帮助。
在运行maven goal“package”时,我也面临着同样的问题。当我在执行“包”之前执行目标“清理”时,问题得到了解决
有什么建议吗?
异常的错误消息可能解释了发生了什么。你的一个单元测试
系统。退出()
,或我们无法告诉你那是什么。
(我认为报告这个问题是因为maven JVM希望子JVM将单元测试结果写入其标准输出。它从子JVM返回的信息(或其他信息)缺失了单元测试已经完成。根本原因可能与建议的备选方案不同,但我对此表示怀疑,这是毫无意义的推测……)
日志文件中可能有更多关于违规单元测试的信息。检查那个/他们。
我使用的是geb spock maven,ubuntu上的surefire 2.22.0版。直到两周前,它还可以正常工作,但突然我发现forked虚拟机没有恰当地说再见就终止了。虚拟机崩溃或系统崩溃。你叫出口吗 错误。以下是我的配置: 当我点击命令时,它会抛出以下错误: 下面是我完整的pom。xml 请关注这个问题。谢啦
当我从Eclipse(Neon.3,EE版本)运行maven命令“mvn clean install”时,我得到错误: 组织。阿帕奇。专家插件。PluginExecutionException:目标组织的执行默认测试。阿帕奇。专家插件:maven surefire插件:2.12。4:测试失败:分叉的VM没有正确地说再见就终止了。虚拟机崩溃或系统崩溃。你叫出口吗? Eclipse安装使用m2e-pl
我写测试。我使用的是Cucumber 6.8.1、TestNG 7.0.0。为了并行化,我连接了maven-surefire-plugin2.22.2,但我现在没有并行测试,目前我只逐一运行所有测试。 大多数测试工作良好(大约45个测试)。但是有几个测试是有问题的,即:当运行这样的测试时,我得到错误“分叉的VM在没有正确地说再见的情况下终止了。VM崩溃或System.Exit调用?”以下是全文:
我已经配置了maven-surefire-plugin和jacoco插件来生成junit代码覆盖率报告。然而,我在两个不同的场景中得到了两个不同的错误。你能看看下面的错误并帮助我吗?任何帮助都是值得赞赏的。 当我在maven-surefire-plugin配置中将forkCount保持为0(零)时,所有测试都会成功执行,但不会生成jacoco报告。它给我的消息是“由于缺少执行数据文件,跳过JaCo
“分叉的虚拟机在没有正确说再见的情况下终止。虚拟机崩溃或系统调用退出?” 仅用一个分叉运行这个不会产生问题(并且一切都过去了) 有一些关于这个问题的信息,包括这个StackOverflow问题和这个bug(现在似乎已经解决了) 更新#1在使用--debug(-x)运行maven目标后添加相关的out put
如标题所示:我正试图从集装箱化的詹金斯奴隶那里运行Maven自动化测试,在与此斗争了一周后,现在我已经没有想法了。它的工作原理是在AWS实例与4G的RAM,但在不受限制的(在RAM和CPU)容器,它失败与错误如下。当它运行的唯一情况是当我禁用分叉故障安全插件,但这不是一个选项前进。 我尝试了各种Java /Maven/Failsafe/Surefire选项,我可以用谷歌找到,但没有运气(如添加全局