【发布时间】:2017-10-11 14:23:06
【问题描述】:
我有一个多模块 Maven 项目。在我的父 pom 中,是这样的 -
<modules>
<module>a</module>
<module>b</module>
<module>c</module>
</modules>
我想扫描 a & b 的 src/main/java 但 c 的结构不同:c/src/main/dir1/dir2/dir3/js1 & c/src/main/dir1/dir2/dir4 /js2 我想扫描项目 c 直到 dir3 但排除了 dir4
它变得复杂了,我不知道要包含和排除什么。我正在使用 maven 扫描仪并在 jenkins 的 sonarqube 插件中传递参数,如下所示:
-Dsonar.projectName="MyProject" -Dsonar.sources="." -Dsonar.projectKey="MyKey" -Dsonar.inclusions="src/main/java/**,c/src/main/dir1/dir2/**" -Dsonar.exclusions="c/src/main/dir1/dir2/dir3" -Dsonar.scm.disabled=true -Dsonar.sourceEncoding=UTF-8
我也尝试使用 sonar.modules 使其模块化,但没有排除所需目录。我做错了什么?
【问题讨论】:
-
如果您使用的是 maven 扫描仪,那么
mvn sonar:sonar就是您所需要的,您不需要在示例中指定-Dsonar.sources=...并且可能不需要指定其他-D参数。这就是 maven 扫描仪的重点,它了解您的 maven 配置。
标签: java jenkins sonarqube sonar-runner