我正在尝试在我的多语言项目中运行声纳maven分析,该项目包含许多语言,如* .java,*。groovy,* .js等。我已经在声纳中安装了所有语言插件并配置了我的pom {{ 1}}参数为sonar.sources
但仍然只能获取java文件。在控制台输出中。
我在控制台中获得以下行,表示它只扫描带有模式src/main,src/test
和src/main/java
的文件夹
src/test/java
我目前正在使用SonarQube 5.1,Java 7u80
注意:如果使用Sonar Runner进行分析,它会扫描所有文件。
答案 0 :(得分:2)
从SonarQube 4.2开始,可以对多语言项目进行分析。为此,必须删除sonar.language property
。相反,如果由于某种原因您想要执行单一语言分析,请确保指定sonar.language
。
默认情况下,sonar.sources属性设置为Maven sourceDirectory属性的值(默认情况下为src/main/java
)加pom.xml
(并且src/main/webapp
也会自动添加用于战争模块)。因此,对于多语言项目,通常必须将属性覆盖为:sonar.sources=src/main,pom.xml
。
答案 1 :(得分:1)
由于它是一个多模块项目,我必须在父模块的sonar.sources
文件中包含属性sonar.tests
和pom.xml
。
<properties>
<sonar.sources>pom.xml,src/main,src/test</sonar.sources>
<sonar.tests></sonar.tests>
</properties>
sonar.tests
参数为空,因为它与Maven不兼容。