Sonarqube+maven 分析代码
原创
©著作权归作者所有:来自51CTO博客作者gblfy的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
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.代码分析
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整合插件进行扫描,因此,需要提前将插件下载完毕,关于内网的话,建议提前将插件下载好,分享给他们,或者连自己的手机热点下载插件依赖,好处是可以之下载即可。