理論上,只需要配置sonar-maven-plugin插件就可以執(zhí)行sonar掃描過程,需要有SonarQube服務(wù)可供訪問。
需要如果不從命令行傳遞參數(shù),可以在pom文件中指定對應(yīng)的參數(shù),在properties字段提供sonar.host.url和sonar.login字段的值,登錄可使用token方式。示例如下——
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<sonar.host.url>http://127.0.0.1:9000</sonar.host.url>
<sonar.login>eef68547ea46d48aaefc472170ec87b833db182f</sonar.login>
</properties>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>
</plugin>
SonarScanner for Maven最新版本已經(jīng)是8.4版本的SonarQube和3.7.0.1746版本的maven插件。
執(zhí)行mvn sonar:sonar默認使用最新版本的sonar插件,可以使用mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar指定配置的插件版本
實測,即使沒有配置jacoco插件,插件可以自動分析單測的測試結(jié)果(mvn test?),可以看到覆蓋率。目前我還清楚依賴的最小環(huán)境是怎樣的?