【问题标题】:PermGen size error while generating Cobertura Report生成 Cobertura 报告时出现 PermGen 大小错误
【发布时间】:2017-06-21 18:30:32
【问题描述】:

每当我使用此命令clean cobertura:cobertura 生成cobertura report 时,我的应用程序都会抛出 PermGen 大小错误。我已经尝试了几乎所有内容,例如:

  • 增加 sts.ini 中的 permgen 大小
  • 通过进入 Windows 增加 jdk vm 参数中的 permgen 大小 -> 首选项 -> Java -> 已安装的 JRE -> 单击 jdk -> 编辑并在 vm args 上

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

  • stackOverFlow 中的一些人建议在 Surefire 插件中提及版本,我已经准备好了

以上都没有帮助我。我在 JUnit 测试用例中经常使用 Mock/PowerMock 对象。 Maven 测试运行良好。

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: java maven mockito cobertura powermockito


    【解决方案1】:

    由于您尝试更改 sts.ini,我假设您是从 STS 内部运行它。即使 Maven 被 STS 启动,它也会在与 STS 不同的进程中运行,因此更改 sts.ini 也无济于事。您需要在 mvn 作业的运行配置中使用增加的 permgen 大小设置 MAVEN_OPTS。

    【讨论】:

    • 你是对的,改变它后我意识到它不会像你提到的那样工作。你是说 cobertura:cobertura 工作我应该增加尺寸吗?
    • 是的。大概你在 STS 中有一个运行配置来运行“mvn clean cobertura:cobertura”。该配置是您需要配置 MAVEN_OPTS 的地方。
    • VM 参数中会在 JRE 下吗?
    • 它将在环境选项卡下(我认为是最后一个)。
    • 好的,所以在我这样做之前,我已经在 maven.bat 文件中设置了 MAVEN_OPTS=-XX:MaxPermSize=1024m。你认为这两者是一回事吗?
    【解决方案2】:

    设置 MAVEN_OPTS。

    值为:-Xms1024m -Xmx3000m -XX:MaxPermSize=1024m

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

    【讨论】:

      猜你喜欢
      • 2011-03-02
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2021-04-13
      相关资源
      最近更新 更多