Sonarqube无法识别基目录

时间:2018-03-13 00:07:37

标签: sonarqube sonar-runner sonarqube-scan

我有下一个问题。我正在用java开发一个项目并创建sonar.properties文件以使用SonarQube(v6.7.2)。我的项目有两个模块。项目结构是:

我的项目
| --core-utils的
| --src
| --target
| --pdf-utils的
| --src
| --target

sonar.properties是:

第一个模块
sonar.moduleKey = com.app.core.pdf:PDF-utils的
sonar.projectBaseDir =的/ var / lib中/詹金斯/工作区/ MyProject的/ PDF-utils的
sonar.projectKey = com.app.core.pdf:PDF-utils的
sonar.projectName = PDF-utils的
sonar.projectVersion = 0.90.0-SNAPSHOT
sonar.sources =的/ var / lib中/詹金斯/工作区/ MyProject的/ PDF-utils的/ SRC /主/ JAVA
sonar.working.directory =的/ var / lib中/詹金斯/工作区/ MyProject的/ PDF-utils的/目标/声纳
sonar.java.binaries =的/ var / lib中/詹金斯/工作区/ MyProject的/ PDF-utils的/目标/类

第二模块
sonar.moduleKey = com.app.core:核 - utils的
sonar.projectBaseDir =的/ var / lib中/詹金斯/工作区/ MyProject的/核 - utils的
sonar.projectKey = com.app.core:核 - utils的
sonar.projectName =核 - utils的
sonar.projectVersion = 0.90.0-SNAPSHOT
sonar.sources =的/ var / lib中/詹金斯/工作区/ MyProject的/芯utils的/ SRC /主/ JAVA
sonar.working.directory =的/ var / lib中/詹金斯/工作区/ MyProject的/芯utils的/目标/声纳
sonar.java.binaries =的/ var / lib中/詹金斯/工作区/ MyProject的/芯utils的/目标/类

主模块
sonar.host.url = http://localhost:9000/sonar
sonar.java.source = 1.6
sonar.java.target = 1.6
sonar.moduleKey = com.app.core:核心所有
sonar.modules = com.app.core:核 - utils的,com.app.core.pdf:PDF-utils的
sonar.projectBaseDir =的/ var / lib中/詹金斯/工作区/ MyProject的
sonar.projectKey = com.app.core:核心所有
sonar.projectName =核 - 所有
sonar.projectVersion = DEV-快照
sonar.sourceEncoding = UTF-8

然后运行SonarScanner,结果是:

模块'com.app.core:core-utils'的基本目录不存在:/var/lib/jenkins/workspace/MyProject/com.app.core:core-utils

如果我为每个模块放置基目录,我不知道为什么会这样做。

谢谢!

1 个答案:

答案 0 :(得分:0)

sonar.modules存储子模块的标识符。您必须使用子标识符作为所有子声纳属性的前缀。例如:

# Main module
sonar.host.url=http://localhost:9000/sonar
sonar.java.source=1.6
sonar.java.target=1.6
sonar.modules=coreutils,pdfutils
sonar.projectBaseDir=/var/lib/jenkins/workspace/MyProject
sonar.projectKey=com.app.core:core-all
sonar.projectName=core-all
sonar.projectVersion=DEV-SNAPSHOT
sonar.sourceEncoding=UTF-8

# First module
pdfutils.sonar.projectBaseDir=/var/lib/jenkins/workspace/MyProject/pdf-utils
pdfutils.sonar.projectKey=com.app.core.pdf:pdf-utils
pdfutils.sonar.projectName=pdf-utils
pdfutils.sonar.sources=/var/lib/jenkins/workspace/MyProject/pdf-utils/src/main/java
pdfutils.sonar.working.directory=/var/lib/jenkins/workspace/MyProject/pdf-utils/target/sonar
pdfutils.sonar.java.binaries=/var/lib/jenkins/workspace/MyProject/pdf-utils/target/classes

# Second module
coreutils.sonar.projectBaseDir=/var/lib/jenkins/workspace/MyProject/core-utils
coreutils.sonar.projectKey=com.app.core:core-utils
coreutils.sonar.projectName=core-utils
coreutils.sonar.sources=/var/lib/jenkins/workspace/MyProject/core-utils/src/main/java
coreutils.sonar.working.directory=/var/lib/jenkins/workspace/MyProject/core-utils/target/sonar
coreutils.sonar.java.binaries=/var/lib/jenkins/workspace/MyProject/core-utils/target/classes

我也清理你的属性:

  • sonar.moduleKey - 从所有模块中删除
  • sonar.projectVersion - 从子模块中删除