如何 运行 对具有多个源目录的项目进行 SonarQube Findbugs 分析
How to Run SonarQube Findbugs Analysis for a project with multiple source directories
我有一个多模块 Maven 项目,其中除了 'src' 之外还有源目录,其中 java 文件所在。
这是文件夹结构
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
因此,如您所见,modules/projects 有 src 或 gen 或两者都有,或者没有。
当我 运行 findbugs 分析时,它只从 'src' 中选择了 java 类 并跳过了 'gen' (自然,因为 Maven 模型强制分析器仅从 src 中选择)
因此,在 Jenkins 作业配置中,我明确定义了源,如下所示:
-Dsonar.sources=src,gen
-Dsonar.exclusions=src/test/java/**
当我运行使用此配置时,对于不具有 src 和 gen 的模块的分析失败。 (模块 2、模块 3、模块 4)
那么,我如何 运行 选择 src 或 gen 的分析,或者如果找不到其中一个模块则跳过该模块?
谢谢,
罗恩
当使用 Maven 的 SonarQube 扫描器时,您不能使用命令行指定仅适用于某些模块的特定属性。
在要修改源代码的模块中,在 pom.xml
中添加一个 属性。例如,在 module5/pom.xml
中添加:
<properties>
<sonar.sources>src,gen</sonar.sources>
</properties>
我有一个多模块 Maven 项目,其中除了 'src' 之外还有源目录,其中 java 文件所在。
这是文件夹结构
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
因此,如您所见,modules/projects 有 src 或 gen 或两者都有,或者没有。
当我 运行 findbugs 分析时,它只从 'src' 中选择了 java 类 并跳过了 'gen' (自然,因为 Maven 模型强制分析器仅从 src 中选择)
因此,在 Jenkins 作业配置中,我明确定义了源,如下所示:
-Dsonar.sources=src,gen
-Dsonar.exclusions=src/test/java/**
当我运行使用此配置时,对于不具有 src 和 gen 的模块的分析失败。 (模块 2、模块 3、模块 4)
那么,我如何 运行 选择 src 或 gen 的分析,或者如果找不到其中一个模块则跳过该模块?
谢谢,
罗恩
当使用 Maven 的 SonarQube 扫描器时,您不能使用命令行指定仅适用于某些模块的特定属性。
在要修改源代码的模块中,在 pom.xml
中添加一个 属性。例如,在 module5/pom.xml
中添加:
<properties>
<sonar.sources>src,gen</sonar.sources>
</properties>