我有一个多模块maven项目,除了java文件所在的'src'之外还有源目录。
这是文件夹结构
folder1
-pom.xml
pom.xml包含如下定义的模块:
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<module>module4</module>
<module>module5</module>
<module>module6</module>
<module>module7</module>
<module>module8</module>
<module>module9</module>
<module>module10</module>
</modules>
不同的模块组织如下:
module1
-src
-gen
module2
-src
module3
-gen
module4
module5
-src
-gen
所以,正如你所看到的,有些模块/项目有src或gen或者两者兼有,或者没有任何模块/项目。
当我运行findbugs分析时,它只选择'src'中的java类并跳过'gen'(Natural as Maven模型强制分析器仅从src中选择)
因此,在Jenkins作业配置中,我明确地定义了这样的源:
-Dsonar.sources=src,gen
-Dsonar.exclusions=src/test/java/**
当我使用此配置运行时,对于没有src和gen的模块,分析失败。 (module2,module3,module4)
那么,如果找不到其中任何一个,我如何运行分析来选择src或gen或跳过该模块?
谢谢,
罗恩
答案 0 :(得分:1)
使用SonarQube扫描仪进行Maven时,您不能使用命令行仅适用于某些模块的特定属性。
在要修改源的模块中,添加pom.xml
属性。例如,在module5/pom.xml
添加:
<properties>
<sonar.sources>src,gen</sonar.sources>
</properties>