前言
sonarqube作为国内比较流行的静态代码扫描工具,由于其代码的复杂性,导致很少有源码分析的文档。而且官方文档的构建方式说的不够详细,这里先介绍怎么搭建本地环境,后续再讲解sonarqube的整体架构和源码分析。
一、环境
开发工具:IntelliJ IDEA
JDK:17.0.5
源码地址:https://github.com/SonarSource/sonarqube.git
版本:9.9.3LTS(9.9.3.79811)
二、操作步骤
1.拉源码
git clone -b 9.9.3.79811 https://github.com/SonarSource/sonarqube.git
2.idea中打开项目
a.配置好JDK 17
b.IDEA引入应用
c.执行编译:gradle build -x test
d.构建成功后,拷贝执行文件
- 进入到sonar-application/build/distributions目录,解压sonar-application-9.9.3-SNAPSHOT.zip
- 解压zip包
- 将解压目录后的如下目录拷贝到sonar-application/build/classes/目录下
- conf
- lib
- elasticsearch
- web
- 启动sonar-application/src/main/java/org/sonar/application/APP
e.启动完成后,访问http://localhost:9000/即可。这里默认使用h2数据库和es
总结
每次重启应用,需要先将es杀死,然后在IDEA里打开
ps -ef|grep sonar
#找到对应sonar pid
kill -9 pid1 pid2