SonarQube项目未通过JavaScript配置文件进行分析

SonarQube项目未通过JavaScript配置文件进行分析,javascript,java,css,sonarqube,Javascript,Java,Css,Sonarqube,我们有两个Java web应用程序项目正在由SonarQube的同一个实例(版本6.4)进行分析。这两个项目都有Java、JavaScript和CSS组件,我们希望对这些概要文件进行分析 项目A成功地针对所有三种语言进行了分析,而项目B仅针对Java进行了分析 全局设置几乎是现成的,两个项目都没有任何特定于项目的设置 我们认为它不应该有任何影响,但ProjectA是一个使用JSP的SpringMVC应用程序。项目B是一个使用Thymeleaf的Spring启动应用程序 项目A没有sonar.pr

我们有两个Java web应用程序项目正在由SonarQube的同一个实例(版本6.4)进行分析。这两个项目都有Java、JavaScript和CSS组件,我们希望对这些概要文件进行分析

项目A成功地针对所有三种语言进行了分析,而项目B仅针对Java进行了分析

全局设置几乎是现成的,两个项目都没有任何特定于项目的设置

我们认为它不应该有任何影响,但ProjectA是一个使用JSP的SpringMVC应用程序。项目B是一个使用Thymeleaf的Spring启动应用程序

项目A没有sonar.properties或sonar-Project.properties文件。在项目B中,我们在没有任何属性的情况下尝试了它,并且属性尝试将其命名为sonar.properties和sonar-Project.properties,它们单独设置sonar.language或java、js、css,但在行为上似乎没有区别

SonarQube由Jenkins(2.61版)推出,带有SonarQube扫描仪for Jenkins(2.6.1版)插件

两个Jenkins项目的配置类似,并作为构建后步骤启动声纳分析:

$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SQ_LOGIN -Dsonar.password=$SQ_PASSWORD
我们甚至尝试删除Sonar数据库并让Sonar重建它,但项目B仍然只是针对Java进行分析


编辑:我们希望通过Java、JavaScript和CSS对项目B进行分析,就像项目A一样。

默认情况下,Maven分析不会将资源文件包括在分析中。您需要手动执行此操作,方法是将
sonar.sources
作为pom中的属性覆盖,或者在命令行上定义(
-D
)它。我猜这是在项目pom中的一个属性中完成的,该属性正在按照您的意愿进行扫描。

多亏了G.Ann的回答,我才能够解决类似的问题。在一个多模块Maven项目中,在几个Java模块中,有一个专门包含HTML、CSS和JavaScript文件等Web资源的模块,被恰当地称为
frontend
。这些来源在
app
中,而不是
src/main/web
中。为了让SonarQube分析这些web资源,我在前端模块pom的
元素中添加了
app
。非常令人惊讶的是,为了使构建适用于所有模块,我必须在构建顺序的下一个模块的pom中添加
src/main
,以覆盖现在重新定义的默认值。

是的,我们希望项目B像项目A一样通过Java、JavaScript和CSS进行分析。谢谢。我已经编辑过了。$SONAR\u MAVEN\u GOAL-Dsonar.host.url=$SONAR\u host\u url-Dsonar.login=$SQ\u login-Dsonar.password=$SQ\u password-Dsonar.sources=src/main修复了这个问题。