jenkins - Sonar - 通过 jenkins 运行 Sonar 时出现 OutOfMemoryError Java 堆空间错误

标签 jenkins sonarqube sonar-runner

我正在使用 jenkins 通过 Ant 进行构建。我还通过“调用独立 Sonar 分析”在此 jenkins 作业上配置 Sonar 。一切都很顺利,直到构建制作过程并成功创建构建。现在 Sonar 执行已开始,一段时间后我收到错误

“线程“main”中的异常org.sonar.batch.bootstrapper.BootstrapException:java.lang.OutOfMemoryError:Java堆空间

构建步骤“调用独立 Sonar 分析”将构建标记为失败 “...

我为解决此问题所做的一切是:

  1. 通过增加 Java 堆大小

    将 Sonar sonar-runner.bat文件中的%SONAR_RUNNER_OPTS%替换为-Xms256m -Xmx1024m。

  2. 修改 Sonar_Way 质量配置文件并仅将一两个规则置于其中,以避免违反规则。

然后运行构建,但仍然出现相同的 java 堆错误。我要补充的一件事是我的项目源文件夹大小约为 40mb,这意味着它是一个相对较大的项目。

有人可以帮我解决这个问题吗? 我还应该做什么才能完成这件事。 你的回归将是可观的.. 提前致谢..

最佳答案

以下是您可以尝试的其他一些操作:

  • 删除以下所有附加插件:PDF、build-breaker、质量指数、技术债务。并尝试新的分析。

  • 再次增加 Java 堆大小 (-Xms512m -Xmx1024m)

  • 使用“sonar.exclusions”排除部分代码,并查看可以一次分析而不会失败的最大源代码量

  • 将您的大项目拆分为小模块并使用 the multi-module feature of Sonar

关于jenkins - Sonar - 通过 jenkins 运行 Sonar 时出现 OutOfMemoryError Java 堆空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744870/

相关文章:

java - Sonar : You must define the following mandatory properties for unknown not resolved

java - 计算方法复杂度的原理是什么?

由于测试失败,Jenkins 将良好构建标记为失败

Jenkins - 在不同时间触发不同的插件,独立于构建

continuous-integration - 在jenkins构建结果页面中显示工件

jenkins - 我需要 Jenkins 的 Sonar 和 Sonar 转轮吗?

java - Sonar runner 执行期间出错,在 play 项目的 junit 测试中运行 Sonar runner 2.3 时出现 java.lang.NullPointerException

docker - 如何使用root用户以外的其他用户从容器访问docker守护进程

java - 运行 mvn sonar :sonar 时出错

junit - 如何将 karma javascript junit xml 报告导入 Sonar