Я пытаюсь запустить sonar-scanner
в проекте Maven с около 80 000 классов.
(Я знаю: правильный подход заключается в использовании 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.