2013-02-07 52 views
1

我正在使用jenkins通过使用Ant进行构建。我也是通过“Invoke Standalone Sonar Analysis”来配置这个jenkins工作的声呐,一切都很顺利,直到构建制作过程并且构建成功创建之后,声纳执行就开始了,并且在一段时间后出现错误Sonar - OutOfMemoryError通过jenkins运行声纳时的Java堆空间

“Exception in线程“主要” org.sonar.batch.bootstrapper.BootstrapException:java.lang.OutOfMemoryError:Java堆空间

构建步骤“调用独立的声纳分析”标记为建立失败 ” ......

什么都我已经解决了这个问题:

  1. 增加Java堆大小经由

    在声纳的声纳runner.bat文件取代%SONAR_RUNNER_OPTS%与-Xms256m -Xmx1024m。

  2. 修改Sonar_Way质量配置文件,并只放置一个或两个活动规则,以避免规则排除。

然后运行生成但仍然得到相同的java堆错误。还有一件事我会补充说这是我的项目源文件夹大小约40MB意味着它的一个大项目比较。

anyboby可以帮我解决这个问题吗? 我还应该做些什么来完成这件事。 您还原将很可观.. 在此先感谢..

+0

你能复制粘贴在分析失败与OOMError日志的一部分吗?另外,你能详细介绍一下你的Sonar配置吗? (您使用的版本,插件,等等)最后:您的项目是多模块项目还是单个模块项目? (40Mb的源对于单个模块项目来说真的很大) –

+0

嗨Fabrice,下面是你要求的错误日志和声纳细节.. –

+0

11:40:53.371 INFO p.PhasesTimeProfiler - 执行装饰器... 总时间:9:42.926s Final Memory:20M/247M 线程“main”中的异常org.sonar.batch.bootstrapper.BootstrapException:java.lang.OutOfMemoryError:Java堆空间 \t at org.sonar.runner.Runner.delegateExecution (Runner.java:189) \t at org.sonar.runner.Runner.execute(Runner.java:78) \t at org.sonar.runner.Main.main(Main。java:61) 导致:java.lang.OutOfMemoryError:Java堆空间 \t位于java.util.ArrayList。 (ArrayList.java:112) –

回答

2

这里有一些其他的东西,你可以尝试:

  • 全部删除以下addionnal插件:PDF,打造断路器,质量指标,技术债务。并尝试新的分析。

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

  • 使用“sonar.exclusions”排除你的部分代码,看看源代码的最大金额,你可以在一次分析,而不失败

  • 分裂您的大项目分成小的模块,并使用the multi-module feature of Sonar

+0

Fabrice,Th为你答案,它适用于我。我已经删除了额外的插件,并再次建立这次声纳成功工作,但有什么是不明确的,请澄清我下面的几点: –

+0

1.当我单独部署我的项目声纳没有詹金斯它工作正常,并成功与声纳一起部署所有附加插件,那么当通过jenkins进行部署时失败的原因甚至是jenkins构建成功,只有声纳分析失败。 –

+0

2.第二次,我从Ant,windows批处理命令等jenkins中删除所有的构建配置,并通过“Invoke Standalone sonar analysis”配置声纳,并通过项目属性提供源代码,项目名称等,并重新构建,这由于相同的错误“java堆空间”也导致构建失败。 –

相关问题