官网地址:
Code Quality and Code Security | SonarQube
![](https://img-blog.csdnimg.cn/71b8089a7a5a49d5aedadbe2eb89f771.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
目录
1. 下载&安装
1.1 安装
1.2 启动
2. 代码审查
2.1 新建项目
2.2 关联代码
3. 其他
1. 下载&安装
SonarQube提供了多个版本, 其下载页面提供了各个版本的功能对比,最新特性和功能请以官网为准。此处下载社区版进行代码检查和分析 ,更详细的教程请参考官网:SonarQube Documentation | SonarQube Docs
下载页面:Download | SonarQube
![](https://img-blog.csdnimg.cn/13881c21c0134e66aed596ed3970b3d3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
教程所使用版本的下载链接:sonarqube-9.4.0.54424.zip
1.1 安装
解压zip至指定路径,文件列表如下:![](https://img-blog.csdnimg.cn/812588ef803c41b5b56c4e2108d781aa.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:启动Sonarqube前需要准备Java运行环境,此版本要求的版本是 Java 11,安装Java运行环境不在此处演示
进入bin\windows-x86-64\,启动cmd,执行 java -version 查看当前版本是否为 Java 11,否则无法启动Sonarqube,如下图
![](https://img-blog.csdnimg.cn/e2969b60e63f494baff106a9de70058c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
1.2 启动
在bin\windows-x86-64\目录下,双击StartSonar.bat即可启动,等待片刻后,打开网页:localhost:9000,默认登录账户密码为:admin/admin
出现登录界面即表示,安装&启动完成
![](https://img-blog.csdnimg.cn/9b9a41e294854404b4be520b18f37a52.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
2. 代码审查
2.1 新建项目
登录成功后,会默认跳转到项目创建页面,此处点Manually创建新的项目,也可根据实际需求选择Azure DevOps或Bitbucket、Github、GitLab来关联自己的项目
![](https://img-blog.csdnimg.cn/91697606ee3f4dbe9543a84f19ce4a5b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
输入项目名称,Project Key可以不用修改,点击Set Up完成创建
![](https://img-blog.csdnimg.cn/6f7d9137668b40e0bbb5951fd784c36d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
2.2 关联代码
项目创建完毕后,根据需要选择关联代码的方式,此处选择Locally
![](https://img-blog.csdnimg.cn/da2d28e245ce4ef4af2ff4e28e7aee9c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
输入关键词来生成token
![](https://img-blog.csdnimg.cn/f74151c903b94d949ca047966fd07ddd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/847174c775bb46769d11162655533e24.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
点击Continue后如下图,此处演示选择Maven,可根据项目实际需求选择对应的项目构建方式,选择Other则需要下载SonarQube的代码扫描工具:sonar-scanner-cli-4.7.0.2747-windows.zip
![](https://img-blog.csdnimg.cn/fdb2d9db92314ddea441b27859e3a3b1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
点击Maven后出现提示,如下图,然后我们去项目目录执行此命令即可
![](https://img-blog.csdnimg.cn/83751d7119b24de3a57bcfd5aaae5fcd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
以IDEA为例,可以从Maven工具栏,直接执行Maven命令
注:IDEA可以安装SonarLint来进行关联,已插件的方式来进行分析会更加方便
![](https://img-blog.csdnimg.cn/56a6dd206aa44202855b8ebe953ac735.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
若出现提示:org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 需要将JDK版本更换至 Java 11
命令执行完成后,SonarQube页面会自动跳转到分析结果页面
![](https://img-blog.csdnimg.cn/becdde62fc5149ba80007e121aaa2d51.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQnJheWNlcA==,size_20,color_FFFFFF,t_70,g_se,x_16)
3. 其他
SonarQube还有更多高级特性和功能,请参考官方文档:SonarQube Documentation | SonarQube Docs
https://docs.sonarqube.org/latest/