首页 > 解决方案 > Sonarqube - 包含被忽略

问题描述

我只是想分析位于 src 目录中的所有 java 文件,但我无法让它工作。

我添加的声纳扫描仪配置文件是:

sonar.projectKey=three
sonar.projectName=three
sonar.projectVersion=1.0
sonar.sources = C:/Users/Michael/Desktop/x/y/src
sonar.inclusions = C:/Users/Michael/Desktop/x/y/src/**/*.java

我也尝试过暴力破解许多组合,例如

sonar.projectKey=three
sonar.projectName=three
sonar.projectVersion=1.0
sonar.sources = C:/Users/Michael/Desktop/x/y/src
sonar.inclusions = src/**/*.java

运行“包含/排除模式忽略了 39 个文件”时,我一直被告知,为什么它被忽略了?我在这里想念什么。

此外,这些示例甚至在以 src/* 开头时如何工作,它甚至如何知道它们所指的 src 或它的位置?

标签: javasonarqube

解决方案


这里发生了几件事

首先,分析属性中的路径应该相对于您的项目根目录。所以,不是,sonar.sources=C:/...而是(在这里猜测)sonar.sources=y/src或更可能sonar.sources=src。为什么这行得通?因为你cd在运行分析之前进入你的项目根目录。

这种路径混乱可能解释了为什么您的包含不起作用。但是,如果您只想分析 ; 中的文件,则不需要设置包含src。您需要做的就是正确设置源路径,然后分析器将完成剩下的工作。

最后一件事:您的前三个属性在 周围没有空格=,但您的路径有。为了安全起见,您应该省略它们,因为:

sonar.projectKey=three
sonar.projectName=three  // note that this will default to key if omitted
sonar.projectVersion=1.0
sonar.sources=src

推荐阅读