在Windows上的Maven中运行我的单元测试时,我得到了OutOfMemory异常。我尝试将-XX:-HeapDumpOnOutOfMemoryError选项添加到surefire argLine,但是没有生成转储文件。 我也尝试向MAVEN_OPTS添加相同的东西,但仍然没有,我只是得到一个OutOfMemory异常并且该过程挂起,直到我手动杀死它。
我的pom如下:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>false</testFailureIgnore>
<argLine>-Xms512m -Xmx512m -XX:PermSize=256m -XX:-HeapDumpOnOutOfMemoryError</argLine>
<forkMode>once</forkMode>
</configuration>
</plugin>
MAVEN_OPTS:
set MAVEN_OPTS=-XX:-HeapDumpOnOutOfMemoryError
您知道为什么没有生成转储文件吗?
答案 0 :(得分:2)
试试这个:
set MAVEN_OPTS="-Dmaven.surefire.debug=\"-XX:-HeapDumpOnOutOfMemoryError\""
答案 1 :(得分:2)
您正在使用“ - ”来禁用该选项。使用“+”启用它:
{{1}}
答案 2 :(得分:1)
您的内存泄漏可能已修复,请参阅http://jira.codehaus.org/browse/SUREFIRE-495。您可能想尝试使用surefire 2.7.1或更新版本。
答案 3 :(得分:0)
我想你忘记了这条道路:
<argLine>-Xms512m -Xmx512m -XX:PermSize=256m -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp</argLine>
有这个论点:
-XX:HeapDumpPath=/tmp