1.在maven的setting.xml配置中加入
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>http://192.168.0.111:9000</sonar.host.url> <!-- Sonar服务器访问地址 -->
<sonar.exclusions>**/Test*.java,**/*Test.java</sonar.exclusions>
</properties>
</profile>
在项目父依赖加入,让sonar读取这些报告
<properties>
<sonar.java.spotbugs.reportPaths>./target/findbugsXml.xml</sonar.java.spotbugs.reportPaths>
<sonar.java.pmd.reportPaths>./target/pmd.xml</sonar.java.pmd.reportPaths>
<sonar.java.checkstyle.reportPaths>./target/checkstyle-result.xml</sonar.java.checkstyle.reportPaths>
</properties>
然后就可以执行
设置:
dynamicAnalysis 是避免sonar:sonar命令删除目录
mvn sonar:sonar -Dmaven.sonar.dynamicAnalysis=reuseReports
如果不配做sonar地址,那么在执行命令的时候加上sonar的死者
mvn sonar:sonar -Dmaven.sonar.dynamicAnalysis=reuseReports -Dsonar.host.url=http://xx
2.sonarQube 配置
安装插件:
-
sonarJava 新版是:Java Code Quality and Security
在线安装会失败,我们手动安装;插件下载地址:https://docs.sonarqube.org/display/PLUG/Plugin+Library
如果使用dockers安装的,那么放到挂卷下面的目录: sonarqube/extensions/plugins/
dockers里的目录地址:/opt/sonarqube/extensions/plugins
然后是jacoco配置:这里不要配置,这里是读取jacoco xml文件的,我们在项目里生成的文件不是xml文件,
执行mvn sonar:sonar命令后,在检查代码的同时,他会请求sonarQube,读取上面的配置,如果你配置了这一项,打印的日志会报错:补充
无法解析文件,导致覆盖率为0