SonarQube - 模块配置 - 缺少类

时间:2018-05-15 11:10:51

标签: sonarqube sonarqube-scan sonar-runner

我有一个多模块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

1 个答案:

答案 0 :(得分:0)

  

我的项目包含多个模块(近100个)我不想手动添加每个依赖模块

     

我在这里做错了什么?

我们在评论中确定您正在使用vanilla SonarQube扫描仪来分析Gradle项目。 ...... 那是你做错了什么。

在Gradle项目上使用香草扫描仪是否仍然可行?当然。它现在正在运作。

但是正如您所发现的那样,您必须手动完成Gradle已经知道的所有布局的所有配置。如果您不想对100个模块进行该配置,那么您应该查看Analyzing with SonarQube Scanner for Gradle