当我在我的项目上构建Maven时,我得到以下内容:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
请参阅。
然而,我所有的万无一失的报告显示0次失败和0次错误。
任何可能导致此问题或如何查找的想法?
此致
奥利
答案 0 :(得分:0)
检查所使用的surefire的版本并确保它是最新的。这可能足以让你看到失败的原因,如果不完全纠正问题。
如果同样的问题仍然存在,请暂时将forkCount
属性设置为0并重新运行构建。我见过Surefire之前从分叉进程中吞下异常。如果这是正在发生的事情,不使用分支将让您看到异常,以便您可以纠正问题。
答案 1 :(得分:0)
这可能是由于计算机内存不足所致。
通过将日志重定向到单独的日志文件来运行Maven构建为我解决了问题
mvn clean install > log-file.log
请注意,因为如果确实存在内存不足的问题(例如我的情况),那么它也取决于我们正在执行的命令。例如,当日志重定向到文件而不是控制台时,mvn clean install eclipse:clean eclipse:eclipse
命令运行良好,但是当我使用带有-X
标志的maven命令并运行该命令时,即使我重定向了,我仍然再次遇到问题输出到日志文件
请查看以下可能是类似问题的答案
The forked VM terminated without saying properly goodbye. VM crash or System.exit called
答案 2 :(得分:0)
将项目从Java 8升级到9后,我遇到了同样的问题。
从我的IDE运行时,我的测试通过了,但是在使用maven运行时,测试失败了,并且所有surefire报告都是干净的,没有失败。
然后,我打开了一个在$ {project_dir} / target / surefire-reports / testng-junit-results中找到的html surefire报告,在该报告中,我看到了一次失败的整个堆栈跟踪,并且与java.base模块有关我以前遇到过问题(标准Java 9模块可访问性问题),所以我意识到我必须在我的surefire插件argLine中添加一些--add-opens标志:
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
这个问题非常令人沮丧,因为错误不是直观的,我仍然不明白为什么它没有像我那样说“模块java.base不会“打开jdk.internal.loader”到未命名的模块”我以前见过。