在为整体项目运行具有 Spotbugs 规则的声纳扫描仪时出错?



Findbugs 插件有大约 449 条规则。将所有这些规则应用到我现有的声纳质量配置文件中并开始声纳扫描,这需要大量内存来扫描整个项目,而且一段时间后也会抛出错误。

我正在使用Sonarqube version: 7.5 and Spotbugs jar version: 3.9.4

Set SONAR_SCANNER_OPTS=-Xmx10G临时命令提示符会话,但面临 Java 堆空间问题(超出 GC 开销限制(

ERROR: Error during SonarQube Scanner execution
ERROR: Can not execute Findbugs
ERROR: Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
ERROR: Caused by: GC overhead limit exceeded
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.

我希望声纳扫描仪能够成功地与一些选定的 Spotbugs(Findbugs( 规则(如漏洞和恶意规则(一起工作,但它也不适用于有限的规则。

这似乎是一个内存资源不足的问题。 根据:Oracle 的内存泄漏故障排除指南,此消息是垃圾回收器堆内存不足导致引发此异常的结果。该链接指示您可以使用"-XX:-UseGCOverheadLimit"开关关闭此异常(并且该过程将继续执行,但可能会降低性能(。

此外,垃圾回收的类型可能是一个问题。尝试使用"-XX:+UseConcMarkSweepGC"或"-XX:+UseParallelGC"更改垃圾回收器策略,然后再次运行它。

最新更新