我有一个多模块Java项目,具有以下配置(简化):
sonar.java.binaries=classes
sonar.java.test.binaries=classes
sonar.java.libraries=../**/*.jar, ../../**/*.jar, ../../../**/*.jar
sonar.java.test.libraries=../**/*.jar, ../../**/*.jar, ../../../**/*.jar
sonar.tests=testsrc
sonar.sources=src
sonar.modules=moduleA, moduleB, moduleC
moduleA.sonar.projectBaseDir=project/moduleA
moduleB.sonar.projectBaseDir=project/subfolder/moduleB
moduleC.sonar.projectBaseDir=project/subfolder/anothersubfolder/moduleC
所有模块都相互依赖(例如,moduleA使用moduleB中的类使用来自moduleC的类)
现在我收到以下警告:
The following classes needed for analysis were missing:
....
....
我通过为模块添加缺少的二进制文件夹来解决问题,例如
moduleA.sonar.java.binaries=classes, ../subfolder/moduleB/classes, ../subfolder/anothersubfolder/moduleC
但是,就我的项目包含多个模块(近100个)而言,我不想手动添加每个依赖模块
我在这里做错了什么?
我正在使用SonarQube 7.1和SonarQube Scanner 2.6.1
答案 0 :(得分:0)
我的项目包含多个模块(近100个)我不想手动添加每个依赖模块
我在这里做错了什么?
我们在评论中确定您正在使用vanilla SonarQube扫描仪来分析Gradle项目。 ...... 那是你做错了什么。
在Gradle项目上使用香草扫描仪是否仍然可行?当然。它现在正在运作。
但是正如您所发现的那样,您必须手动完成Gradle已经知道的所有布局的所有配置。如果您不想对100个模块进行该配置,那么您应该查看Analyzing with SonarQube Scanner for Gradle