2017-06-21 105 views
1

我RAM运行到问题,即我的应用程序抛出每当我使用此命令clean cobertura:cobertura产生cobertura report PermGen的尺寸误差。 >首选项 - - > Java的 - 先进入Windows在JDK VM argumemts sts.ini PermGen的尺寸误差而产生的Cobertura报告

  • 增加PermGen的大小

    • 增加PermGen的大小>已安装的JRE:我尝试了几乎所有的东西,如以下 - >点击JDK - >编辑,然后在VM ARGS

    • 增加PermGen的大小maven.bat文件

    • 一些在StackOverflow的建议提保命插件的版本,我有一个已经到位
    • 012上述的

    没有帮助我。我在JUnit测试用例中使用了很多Mock/PowerMock对象。 Maven测试运行得很好。

    我该如何解决这个问题?

    感谢

  • 回答

    1

    既然你试图改变sts.ini,我假设你是从内部STS运行它。即使当Maven被STS启动时,它也会与STS分开运行,因此更改sts.ini并不会起作用。您需要在mvn作业的运行配置中将MAVEN_OPTS设置为增加的permgen大小。

    +0

    你是正确的,改变它,我意识到你所说的,它是不是要去工作。你是否认为cobertura:cobertura工作我应该增加尺寸? – Mike

    +0

    是的。大概你在STS里有一个运行配置来运行'mvn clean cobertura:cobertura'。该配置是您需要配置MAVEN_OPTS的地方。 – jingx

    +0

    它是否在VM参数下的JRE下? – Mike

    1

    设置MAVEN_OPTS。

    值将是:-Xms1024m -Xmx3000m -XX:MaxPermSize参数=1024米

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