文章目录


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

Sonarqube+maven 分析代码_java

2.2.代码分析
mvn sonar:sonar

Sonarqube+maven 分析代码_sonar maven_02

3. 分析结果

Sonarqube+maven 分析代码_java_03


Sonarqube+maven 分析代码_java_04


Sonarqube+maven 分析代码_代码分析_05

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获取

Sonarqube+maven 分析代码_sonar maven_06


Sonarqube+maven 分析代码_代码质量_07

总结:
maven这几种方式有一个共同点就是:
maven扫描原理是借助maven-sonar整合插件进行扫描,因此,需要提前将插件下载完毕,关于内网的话,建议提前将插件下载好,分享给他们,或者连自己的手机热点下载插件依赖,好处是可以之下载即可。