每当我使用此命令生成cobertura report
时,我的应用程序都会抛出 PermGen 大小错误clean cobertura:cobertura
.我几乎尝试了以下所有方法:
- 增加 sts 中的 permgen 大小.ini
-
通过进入 Windows -> 首选项在 jdk vm argumemts 中增加 permgen 大小-> Java -> 已安装的 JRE ->单击 JDK -> 编辑并在 VM 上 args
-
增加 maven.bat 文件中的 permgen 大小
- 堆栈中的一些OverFlow建议在万无一失的插件中提及该版本,我已经准备好了
以上这些都对我没有任何帮助。我在JUnit测试用例中大量使用Mock/PowerMock对象。 Maven测试运行良好。
如何解决此问题?
谢谢
由于您尝试更改 sts.ini,我假设您是从 STS 内部运行的。即使 Maven 被 STS 启动,它也在与 STS 不同的进程中运行,因此更改 sts.ini也无济于事。您需要在 MVN 作业的运行配置中使用增加的 permgen 大小来设置MAVEN_OPTS。
设置MAVEN_OPTS。
值将为:-Xms1024m -Xmx3000m -XX:最大渗透尺寸=1024m
export MAVEN_OPTS="-Xms1024m -Xmx3000m -XX:MaxPermSize=1024m" //unix
set MAVEN_OPTS="-Xms1024m -Xmx3000m -XX:MaxPermSize=1024m" //window