请帮我解决这个问题.我不完全理解日志中的错误意味着什么.
[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 21.749s [INFO] Finished at: Thu Apr 24 10:10:20 IST 2014 [INFO] Final Memory: 15M/37M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test (default-test) on project samples.simpleforwarding: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.15:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? [ERROR] Command wascmd.exe /X /C ""C:\Program Files\Java\jdk1.7.0_55\jre\bin\java" -Xmx1024m -XX:MaxPermSize=256m -jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefirebooter53410321571238933.jar E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire86076271125218001tmp E:\OpenDayLight\controller\opendaylight\samples\simpleforwarding\target\surefire\surefire_01846991116135903536tmp" [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
xiaohuo.. 91
我有同样的问题,并通过添加:
-Xmx1024m -XX:MaxPermSize=256m
整个插件元素是:
org.apache.maven.plugins
maven-surefire-plugin
3
true
-Xmx1024m -XX:MaxPermSize=256m
+1我逐字地使用了这个片段,它修复了Travis-CI的问题.我们没有在任何开发人员的工作站上得到这个. (7认同)
以上并没有解决我的问题.当'.m2`中的某个依赖项(jar等)损坏时,可能会发生此问题.删除〜/ .m2/repository`rm -rf~/.m2/repository`然后`mvn install`解决了它. (6认同)
OpenJDK 64位服务器VM警告:忽略选项MaxPermSize = 256m; 支持在8.0中删除 (5认同)
复制并粘贴到我的pom文件中,它就像一个魅力,谢谢 (2认同)
小智.. 43
就我而言,该问题与将日志输出到IntelliJ IDEA控制台(OS Windows 10)中的时间过长有关。
命令:
mvn clean install
此命令为我解决了这个问题:
mvn clean install > log-file.log
就我而言,过多的日志记录是真正的问题! (3认同)
小智.. 32
我有类似的问题(Maven build和maven-failsafe-plugin - 分叉的虚拟机没有正确说再见就终止了)并找到了三个适合我的解决方案:
问题是maven插件maven-surefire-plugin仅在版本2.20.1和2.21.0中.我检查过你使用版本2.20.1.
将插件版本升级到2.22.0.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin 2.22.0
将插件版本降级到2.20.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin 2.20
使用插件配置testFailureIgnore.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin true
关于解决方案3:我们真的可以说忽略测试失败是一种解决方案吗?如果测试的结果毫无意义,那有什么意义呢? (3认同)
majikman.. 31
截至今天(10/30/2018),我们注意到我们的构建在Jenkins中出现了这个错误.
该错误有点误导,需要查看转储输出target/surefire-reports/
以查看以下错误消息:
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter
这导致我在下面的SO帖子中提到了OpenJDK 181中可能存在的错误:Maven surefire无法找到ForkedBooter类
该帖子中的任何一个修复程序都解决了我的问题.具体来说,我使用其中一个:
从docker容器中的建筑物切换maven:3.5.4-jdk-8
到maven:3.5.4-jdk-8-alpine
覆盖Spring Boot的类加载器详细信息:https://stackoverflow.com/a/50661649/1228408
小智.. 21
Surefire FAQ的这一部分可以帮助您:
Surefire失败并显示消息"分叉的虚拟机在没有正确说再见的情况下终止"
Surefire不支持随时调用System.exit()的测试或任何引用库.如果他们这样做,他们与surefire不兼容,你可能应该向库/供应商提出问题.或者,分叉的VM也可能由于多种原因而崩溃,这也可能导致此问题发生.查找表示VM崩溃的经典"hs_err*"文件,或者在测试执行时检查运行maven的日志输出.崩溃进程的一些"非常"输出可能会被转储到控制台/日志中.如果这种情况发生在CI环境中并且仅在一段时间后运行,那么您的测试套件很可能会泄漏某种操作系统级别的资源,这会使每次运行都变得更糟.常规的os级监控工具可能会给你一些指示.
小智.. 9
刚刚面临同样的问题,ubuntu上的java 8
然后遇到/sf/ask/17360801/
它似乎是一个最新的插件版本2.22.1与java 8 https://issues.apache.org/jira/browse/SUREFIRE-1588
通过本地mvn设置遵循建议的解决方法 ~/.m2/settings.xml
SUREFIRE-1588 true -Djdk.net.URLClassPath.disableClassPathURLCheck=true
javabeangrin.. 6
我今天遇到了同样的问题,对我来说,真正的问题是在日志中进一步报告并带有消息Cannot use a threadCount parameter less than 1; 1 > 0
.
在surefire-plugin配置中添加时,其他错误消失了.
org.apache.maven.plugins maven-surefire-plugin 2.18.1 org.apache.maven.surefire surefire-junit47 2.18.1 org.apache.maven.surefire surefire-testng 2.18.1 1
...是的,我在此测试框架中使用junit和testng,以实现向后兼容性.
我有同样的问题,并通过添加:
-Xmx1024m -XX:MaxPermSize=256m
整个插件元素是:
org.apache.maven.plugins
maven-surefire-plugin
3
true
-Xmx1024m -XX:MaxPermSize=256m
就我而言,该问题与将日志输出到IntelliJ IDEA控制台(OS Windows 10)中的时间过长有关。
命令:
mvn clean install
此命令为我解决了这个问题:
mvn clean install > log-file.log
我有类似的问题(Maven build和maven-failsafe-plugin - 分叉的虚拟机没有正确说再见就终止了)并找到了三个适合我的解决方案:
问题是maven插件maven-surefire-plugin仅在版本2.20.1和2.21.0中.我检查过你使用版本2.20.1.
将插件版本升级到2.22.0.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin 2.22.0
将插件版本降级到2.20.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin 2.20
使用插件配置testFailureIgnore.在pom.xml中添加:
org.apache.maven.plugins maven-surefire-plugin true
截至今天(10/30/2018),我们注意到我们的构建在Jenkins中出现了这个错误.
该错误有点误导,需要查看转储输出target/surefire-reports/
以查看以下错误消息:
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter
这导致我在下面的SO帖子中提到了OpenJDK 181中可能存在的错误:Maven surefire无法找到ForkedBooter类
该帖子中的任何一个修复程序都解决了我的问题.具体来说,我使用其中一个:
从docker容器中的建筑物切换maven:3.5.4-jdk-8
到maven:3.5.4-jdk-8-alpine
覆盖Spring Boot的类加载器详细信息:https://stackoverflow.com/a/50661649/1228408
Surefire FAQ的这一部分可以帮助您:
Surefire失败并显示消息"分叉的虚拟机在没有正确说再见的情况下终止"
Surefire不支持随时调用System.exit()的测试或任何引用库.如果他们这样做,他们与surefire不兼容,你可能应该向库/供应商提出问题.或者,分叉的VM也可能由于多种原因而崩溃,这也可能导致此问题发生.查找表示VM崩溃的经典"hs_err*"文件,或者在测试执行时检查运行maven的日志输出.崩溃进程的一些"非常"输出可能会被转储到控制台/日志中.如果这种情况发生在CI环境中并且仅在一段时间后运行,那么您的测试套件很可能会泄漏某种操作系统级别的资源,这会使每次运行都变得更糟.常规的os级监控工具可能会给你一些指示.
刚刚面临同样的问题,ubuntu上的java 8
然后遇到/sf/ask/17360801/
它似乎是一个最新的插件版本2.22.1与java 8 https://issues.apache.org/jira/browse/SUREFIRE-1588
通过本地mvn设置遵循建议的解决方法 ~/.m2/settings.xml
SUREFIRE-1588 true -Djdk.net.URLClassPath.disableClassPathURLCheck=true
我今天遇到了同样的问题,对我来说,真正的问题是在日志中进一步报告并带有消息Cannot use a threadCount parameter less than 1; 1 > 0
.
在surefire-plugin配置中添加时,其他错误消失了.
org.apache.maven.plugins maven-surefire-plugin 2.18.1 org.apache.maven.surefire surefire-junit47 2.18.1 org.apache.maven.surefire surefire-testng 2.18.1 1
...是的,我在此测试框架中使用junit和testng,以实现向后兼容性.
在JDK 1.8.0_ 65上使用Jacoco插件运行mvn命令时遇到类似问题
[INFO] A fatal error has been detected by the Java Runtime Environment: JRE version: Java(TM) SE Runtime Environment (8.0_65-b17) (build 1.8.0_65-b17)......... Problematic frame: PhaseIdealLoop::build_loop_late_post(Node*)+0x144 ............ ............ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19:test (default-test) on project The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
JDK中有一个错误https://bugs.openjdk.java.net/browse/JDK-8081379
解决方案是使用param -XX:-UseLoopPredicate运行mvn clean install
或者只是对JDK进行更新(我认为较新的次要版本有效)
关闭maven-surefile-plugin的useSystemClassLoader应该有帮助
org.apache.maven.plugins maven-surefire-plugin 2.22.0 false
如果有人包含自定义argLine参数,则必须重新考虑,因为它可能是内存分配问题的根源.
例如(我以前):
XX:MaxPermSize=4096m ${argLine}
现在我使用硬指定值:
-Xmx1024m -XX:MaxPermSize=256m
无论出于何种原因,与Socofire集成的应用程序(如Jacoco)不要求足够的内存与构建时发生的测试共存.
我也在Jenkins Docker容器中遇到了这个问题(尝试了jenkins:lts,jenkins,jenkins:slim和jenkins:slim-lts。我不想遍历所有存储库并为每个项目更新pom,所以我刚刚将disableClassPathURLCheck添加到maven命令行调用中:
mvn test -DargLine="-Djdk.net.URLClassPath.disableClassPathURLCheck=true"