gpt4 book ai didi

java - 在 SonarQube 中运行单元测试时出现内存错误—— fork VM 没有正确说再见就终止了

转载 作者:行者123 更新时间:2023-11-30 11:17:20 24 4
gpt4 key购买 nike

在运行 Sonar 分析时,我们一直遇到内存不足错误。它在机器之间是间歇性的,但似乎一旦你得到它,它就会持续存在。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test   (default-cli) on project optimus-client-web-configuration: Execution default-cli of goal org.apache.maven.plugins:    

maven-surefire-plugin:2.16: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_45\jre\bin\java" -javaagent:C:\Users\cxxx\AppData\Local\Temp\jacocoagent8301608889470684052.jar=destfile=target/jacoco.exec,excludes=
*_javassist_* -jar C:\redesign_Trunk\optimus-lms-server\optimus-client-web-configuration\target\surefire\surefirebooter2312966376869893038.jar C:\redesign_Trunk\optimus-lms-server\optimus-client-web-con
figuration\target\surefire\surefire350975689095180011tmp C:\redesign_Trunk\xxx-xx-server\xxx\target\surefire\surefire_45613339175612175619tmp"

在 Sonar 阶段之前运行时,单元测试不会因此而失败。它发生在一个特定的测试中,该测试激活 Spring 配置以测试它是否正常工作。这个测试可能比大多数测试消耗更多的内存,因为它必须加载整个上下文。

我在 MAVEN_OPTS 中增加了内存以使用 1024M 最大堆。将此配置添加到我的 pom

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<argLine>-Xmx1024m</argLine>
</configuration>
</plugin>

最佳答案

在此配置中,您只是将 surefire 插件配置为在生成新的 jvm 时使用此内存,您还需要为 mvn 的 jvm 增加内存

export MAVEN_OPTS="-Xmx2048m"

尝试上面的方法(使用适当的内存大小)

关于java - 在 SonarQube 中运行单元测试时出现内存错误—— fork VM 没有正确说再见就终止了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24398197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com