我的项目结构如下:
services
A
a1
a2
pom.xml
B
b1
b2
pom.xml
pom.xml
我想扫描最里面的项目(a1
,a2
,b1
,b2
)。在jenkins Post Steps中,我添加了"分析属性"在没有属性文件的执行SonarQube扫描仪中,主要是:
sonar.modules=A,B
sonar.sources=src
我想从服务目录构建,但它失败了这个错误:
文件夹' src'不存在' A:a1'
我理解,SonarQube会尝试在src
目录中找到A
,但我有一些嵌套项目,例如a1
(我也试过A.modules=a1,a2
但没有成功)
如何让扫描仪分析这些项目?
答案 0 :(得分:2)
这是我的解决方案:
sonar.modules=A,B
A.sonar.modules=a1,a2
B.sonar.modules=b1,b2
sonar.projectBaseDir=.
sonar.sources=src
关键点是projectBaseDir,我希望这可以帮助有人遇到类似的问题。
答案 1 :(得分:0)
使用SonarQube分析maven项目时,请使用maven目标sonar:sonar
而不是sonar.properties
配置。
使用maven时,您甚至不需要更改任何分析属性。 maven配置已经提供了有关源文件夹等的声纳信息。请检查the official documentation如何设置它。通常,您不必为此更改项目的pom.xml(仅限本地maven settings.xml
)。