如果我在同一项目中有目标文件夹的多个子目录,如何设置声纳属性

问题描述

我正在尝试为我的项目启用sonarqube,但问题是我只想浏览目标文件夹中生成的所有.class文件。 如何配置声纳属性以扫描整个项目? 我可以通过逗号进行配置,但是有许多项目驻留在一个模块中。 使用sonarqube版本8.4.2 例如我的项目结构是-

主要项目(P1)- 子项目(P12) 子项目(P121) 子项目(P121) 子项目(P13) 子项目(P14) 子项目(P121) 子项目(P121) 子项目(P15)

假定每个项目都通过maven生成目标文件夹。 感谢您的帮助。

解决方法

对于您的情况,可以使用以下声纳属性扫描Java二进制文件:

sonar.java.binaries=**/* or sonar.java.binaries=**/*.class
sonar.sources=src/

此外,您可以使用sonar.exclusions声纳属性排除不想扫描的文件。例子。

sonar.exclusions=**/*.java
,

当您说“通过逗号配置”时,这意味着您知道可以指定多个目录,并且可能已经知道需要设置的两个属性(在@souravatta的答案中列出)。

我从您的问题中了解到,您不想列出所有这些目录。

从我的角度来看,您有两种选择:

  • 手动指定每个子项目的所有路径
  • 为每个子项目分别生成SonarQube扫描

很显然,第二种选择可以解决您的第一个问题,但它会完全改变其他方面。如果这些子项目中的每个子项目代表单独的工件,否则它们可以单独存在,那么您确实应该将它们分开考虑。