声纳扫描仪StackOverflowException-

时间:2018-11-26 21:10:59

标签: java maven sonarqube

我正在尝试在具有大约80,000个类的Maven项目上运行sonar-scanner

(我知道:正确的方法是使用mvn sonar:sonar,但最终我可能遇到一个错误,而对于其他所有指标则为0,这可能是因为它是一个有问题的遗留系统,其中残留了蚂蚁构建文件)

暂时不考虑是否或如何重构/重做该项目的问题,我想了解一下是否可以按原样使用Sonar。

这是sonar-scanner处理11,000个类后出现的错误:

A stack overflow occurred while analyzing file: ....
....
Error during SonarQube Scanner execution
java.lang.StackOverflowError
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
etc. many many more times.

sonar-project.properties文件中,我有:

sonar.sources=.
sonar.binaries=./<path>,./<another path>, etc.    

1 个答案:

答案 0 :(得分:0)

我正在回答自己的问题。

根据我的评论,我遵循使用mvn来实现sonar目标的更好做法。

我需要研究的问题,或者可能是另一个问题,是为什么分析运行如此缓慢-每个文件大约需要一分钟时间。