我难以为单元测试创建内存转储,这会产生内存不足错误.
我的MAVEN_OPTS包含以下内容:
-Xmx1024m -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\Temp
Run Code Online (Sandbox Code Playgroud)
但是,当我使用"mvn install"从命令行运行我的单元测试时,在发生OutOfMemoryError时我没有得到任何这样的内存转储.
我如何获得内存转储?
谢谢
surefire-plugin默认情况下,Maven(确切地说)创建用于运行测试的新JVM.MAVEN_OPTS变量由运行maven本身的JVM使用,但不是分叉测试JVM.要更改该JVM的设置,请使用以下代码段:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\Temp</argLine>
</configuration>
</plugin>
<!-- ... -->
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1999 次 |
| 最近记录: |