java - Sonarqube - 包含物被忽略

标签 java sonarqube

我只是想分析位于 src 目录内的所有 java 文件,但我无法使其正常工作。

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

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 或它所在的位置?

最佳答案

这里发生了一些事情

首先,分析属性中的路径应相对于项目根目录。所以,不是 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

关于java - Sonarqube - 包含物被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50017911/

相关文章:

maven - Sonar 无法连接到 mySQL 总是尝试 jdbc :h2:tcp://localhost/sonar

java - 为什么 'delete document' 在 lucene 2.4 中不起作用?

java - 为什么 printStackTrace() 和其他方法之间的执行顺序似乎是不确定的?

sonarqube - clearcase 和 sonar qube 集成可确保源代码质量

postgresql - Sonar 分析需要很长时间

java - 使用多个 Sonar 实例的单个 Jenkins 实例

java - Mongotemplate聚合-获取结果数

java - 使用 jsch 自动向下滚动 shell

java - Android Studio : Gradle project sync failed with Java "non-zero exit value 2"

active-directory - SonarQube LDAP 插件 Active Directory 嵌套组