Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成Cobertura报告时出现PermGen大小错误_Java_Maven_Mockito_Cobertura_Powermockito - Fatal编程技术网

Java 生成Cobertura报告时出现PermGen大小错误

Java 生成Cobertura报告时出现PermGen大小错误,java,maven,mockito,cobertura,powermockito,Java,Maven,Mockito,Cobertura,Powermockito,每当我使用此命令生成cobertura报告时,我的应用程序就会抛出PermGen大小错误,我的ram遇到了这个问题clean cobertura:cobertura。我尝试了几乎所有的方法,例如: 增加sts.ini中的permgen大小 通过进入Windows->Preferences,增加jdk vm参数中的permgen大小 ->Java->Installed JRE->单击jdk->在vm参数上编辑和 增加maven.bat文件中的permgen大小 stackOverFlow中的一些

每当我使用此命令生成
cobertura报告时,我的应用程序就会抛出PermGen大小错误,我的ram遇到了这个问题
clean cobertura:cobertura
。我尝试了几乎所有的方法,例如:

  • 增加sts.ini中的permgen大小
  • 通过进入Windows->Preferences,增加jdk vm参数中的permgen大小 ->Java->Installed JRE->单击jdk->在vm参数上编辑和

  • 增加maven.bat文件中的permgen大小

  • stackOverFlow中的一些人建议提及surefire插件中的版本,我已经准备好了
以上这些都对我毫无帮助。我在JUnit测试用例中经常使用Mock/PowerMock对象。Maven测试运行得非常好

如何解决此问题


谢谢

既然您试图更改sts.ini,我假设您是从sts内部运行它的。即使Maven是由STS启动的,它也是在一个与STS不同的进程中运行的,所以更改STS.ini也不会有帮助。您需要在mvn作业的运行配置中使用增加的permgen大小设置MAVEN_选项。

设置MAVEN_选项

值将为:-Xms1024m-xmx300m-XX:MaxPermSize=1024m

export MAVEN_OPTS="-Xms1024m -Xmx3000m -XX:MaxPermSize=1024m" //unix

set MAVEN_OPTS="-Xms1024m -Xmx3000m -XX:MaxPermSize=1024m" //window

你是对的,在改变它之后,我意识到它不会像你提到的那样工作。你是说科伯图拉:科伯图拉的工作我应该增加尺寸吗?是的。大概您在STS中有一个运行配置来运行“mvn clean cobertura:cobertura”。配置就是您需要配置MAVEN选项的地方。它是否在VM参数中的JRE下?它将在环境选项卡(我认为是最后一个)下。好,在我这样做之前,我已经在MAVEN.bat文件集MAVEN\u OPTS=-XX:MaxPermSize=1024m中完成了这一操作。你认为这两件事是一样的吗?