2013-02-07 56 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堆空間」也導致構建失敗。 –

相關問題