Sonar是一個用於代碼質量管理的開源平臺,用於管理Java源代碼的質量。通過插件機制,Sonar 可以集成不同的測試工具,代碼分析工具,以及持續集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通過不同的插件對這些結果進行再加工處理,通過量化的方式度量代碼質量的變化,從而可以方便地對不同規模和種類的工程進行代碼質量管理。同時 Sonar 還對大量的持續集成工具提供了接口支持,可以很方便地在持續集成中使用 Sonar。此外,Sonar 的插件還可以對 Java 以外的其他編程語言提供支持,對國際化以及報告文檔化也有良好的支持。
使用步驟:
一、方式1
1. 配置
在maven安裝目錄conf/settings.xml文件中添加:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 平臺登錄的賬號的用戶名,格式:姓全拼+名第一個字母 -->
<sonar.login>admin</sonar.login>
<!-- SonarQube平臺登錄的賬號的密碼,格式:姓全拼+名第一個字母 -->
<sonar.password>admin</sonar.password>
<!-- SonarQube訪問地址 -->
<sonar.host.url>http://localhost:9000</sonar.host.url>
<!-- 代碼分析包括哪些文件需要分析,英文逗號分隔 -->
<sonar.inclusions>**/*.java,**/*.xml</sonar.inclusions>
</properties>
</profile>
<activeProfiles>
<!-- 這步配置,sonar的profile配置才能生效 -->
<activeProfile>sonar</activeProfile>
</activeProfiles>
2. 編譯項目執行命令
2.1.編譯項目
mvn clean install -DskipTests
2.2.代碼分析
mvn sonar:sonar
3. 分析結果
4. 解決bug
5. 項目名稱
sonarqube 讀取的是pom文件中的name標籤
二、方式2
mvn sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.java.binaries=target/sonar -Dsonar.sorceEncoding=UTF-8 -Dsonar.login=admin -Dsonar.password=admin
也可以寫成這樣
mvn sonar:sonar \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.java.binaries=target/sonar \
-Dsonar.sorceEncoding=UTF-8 \
-Dsonar.login=admin \
-Dsonar.password=admin
三、方式3
mvn sonar:sonar \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=a0c23c5b0a5654c241963abebc0a159b8e6a1fb5 \
-Dsonar.java.binaries=target/sonar \
-Dsonar.sorceEncoding=UTF-8
token獲取
總結:
maven這幾種方式有一個共同點就是:
maven掃描原理是藉助maven-sonar整合插件進行掃描,因此,需要提前將插件下載完畢,關於內網的話,建議提前將插件下載好,分享給他們,或者連自己的手機熱點下載插件依賴,好處是可以之下載即可。