我们有两个Java应用程序项目正在由相同的SonarQube实例(Version6.4)进行分析。这两个项目都有Java、JavaScript和CSS组件,我们希望对这些概要文件进行分析。
项目A正在成功地为所有三种语言进行分析,而项目B仅针对Java进行分析。
全局设置基本上是开箱即用的,而且两个项目都没有任何特定于项目的设置。
我们不认为它会产生任何影响,但是项目A是一个使用JSP的Spring应用程序。项目B是一个使用Thymeleaf的Spring应用程序。
项目A没有sonar.properties或声呐-project.properties文件。在项目B中,我们尝试过没有任何属性,并且属性试图同时命名为sonar.properties和sonar-project.properties,这些属性可以单独设置sonar.language,也可以单独设置js、js、css,但是行为似乎没有区别。
SonarQube正被Jenkins (版本2.61)与詹金斯的SonarQube扫描仪(2.6.1版)插件揭开序幕。
两个Jenkins项目都进行了类似的配置,并作为Post构建步骤启动Sonar分析:
$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SQ_LOGIN -Dsonar.password=$SQ_PASSWORD我们甚至尝试删除Sonar数据库并让Sonar重建它,但是项目B仍然只对Java进行分析。
编辑:我们希望项目B能像项目A一样,由JavaScript和JavaScript进行分析。
发布于 2017-07-31 17:56:50
默认情况下,Maven分析不会将资源文件包含到分析中。您需要手动地将sonar.sources重写为pom中的属性,或者在命令行中定义(-D)属性。我想,这是在项目的pom中的一个属性中完成的,该项目正在按照您的需要进行扫描。
发布于 2019-08-19 09:05:09
多亏了G. Ann的回答,我才能解决一个类似的问题。在一个多模块Maven项目中,在几个Java模块中,有一个恰当的名称为frontend,它只包含JavaScript、CSS和JavaScript文件等Web资源。这些资料来源于app,而不是src/main/web。为了让SonarQube分析这些web资源,我在前端模块的pom的<properties />元素中添加了<sonar.sources>app</sonar.sources>。令人惊讶的是,要使构建对所有模块有效,我必须按照构建顺序在下一个模块的pom中添加<sonar.sources>src/main</sonar.sources>,以覆盖现在重新定义的默认值。
https://stackoverflow.com/questions/45421446
复制相似问题