全面解析SonarQube 7.8安装与Maven集成指南:兼容JDK 1.8和MySQL的代码质量管理
目录
- 引言:为什么选择SonarQube 7.8?
- 一、环境准备与下载
- 版本要求
- 下载地址
- 二、安装与配置SonarQube 7.8
- 解压与目录结构
- 配置数据库
- 启动SonarQube
- 三、Maven项目集成
- 全局配置(settings.XML)
- 项目级配置(pom.xml)
- 执行代码分析
- 四、自定义规则与插件
- 自定义规则
- 常用插件
- 五、注意事项
引言:为什么选择SonarQube 7.8?
SonarQube 7.8是一个长期支持(LTS)版本,特别适合使用JDK 1.8的项目。它提供了稳定的Java 8支持,而更高版本需要JDK 11及以上。此外,SonarQube 7.8兼容mysql数据库,而8.0及以上版本已弃用MySQL,改用PostgreSQL。对于长期维护的Ja编程va 8项目,SonarQube 7.8是一个理想的选择,避免了升级带来的环境适配问题。
一、环境准备与下载
版本要求
- SonarQube 7.8:需要JDK 1.8(推荐oracle JDK 8或OpenJDK 8)。
- 数据库:MySQL 5.6或5.7(8.0不兼容)。
- 操作系统:linux/Windows均可(本文以Linux为例)。
下载地址
- SonarQube 7.8:官方Archive:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip(若官方链接失效,可从第三方可信镜像站下载)。
- MySQL驱动:下载
mysql-connector-java-5.1.48.jar
(python与MySQL 5.x兼容)。
二、编程客栈安装与配置SonarQube 7.8
解压与目录结构
unzip sonarqube-7.8.zip -d /opt cd /opt/sonarqube-7.8
配置数据库
- 创建MySQL数据库:
CREATE DATABASE sonarqube CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar'@'%' IDENTIFIED BY 'sonar123'; GRANT ALL PRIVILEGES ON sonarqube.* TO 'sonar'@'%'; FLUSH PRIVILEGES;
2.修改sonar.properties
: 编辑conf/sonar.properties
:
# 数据库配置 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&EwpKk;rewriteBATchedStatements=true&useConfigs=maxPerformance sonar.jdbc.username=sonar sonar.jdbc.password=sonar123 # 其他关键配置 sonar.web.host=0.0.0.0 sonar.web.port=9000
3.替换MySQL驱动: 将mysql-connector-java-5.1.48.jar
复制到lib/jdbc
目录。
启动SonarQube
# Linux ./bin/linux-x86-64/sonar.sh start # Windows ./bin/windows-x86-64/StartSonar.bat
验证安装:访问 http://服务器IP:9000
,默认账号admin/admin
。
三、Maven项目集成
全局配置(settings.xml)
在Maven的settings.xml
中添加:
<settings> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url>http://服务器IP:9000</sonar.host.url> <sonar.login>生成的令牌</sonar.login> </properties> </profile> </profiles> </settings>
项目级配置(pom.xml)
确保指定兼容JDK 1.8的插件版本:
<build> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.6.0.1398</version> <!-- 兼容7.8的版本 --> </plugin> </plugins> </build>
执行代码分析
mvn clean verify sonar:sonar
查看结果:登录SonarQube控制台,查看代码覆盖率、Bug数、重复率等指标。
四、自定义规则与插件
自定义规则
- 修改Quality Profile:
- 进入SonarQube控制台 → Quality Profiles → 复制默认规则集(如"Sonar way")。
- 激活/停用特定规则,调整阈值(如复杂http://www.devze.com度、重复代码检测)。
常用插件
- 内置插件:Java、javascript、Web。
- 推荐安装:
- FindBugs(静态Bug检测)
- Checkstyle(代码风格检查)
- JaCoCo(覆盖率分析)
安装方法:
这些插件号称是可以在sonarqube的marketplace里安装的,如图:
如果版本不对应,可以点击issue Tracker 内部来获取合适的版本,下载插件JAR包至extensions/plugins
目录,重启SonarQube。
注意重启SonarQube,不是直接关闭cmd窗口
1、可以重启电脑
2、可以将对应的进程杀死
jps -l命令会列出所有Java进程的进程ID、类名以及主类的完整包名或JAR文件的完整路径名
taskkill /F /PID 进程号
五、注意事项
- 内存调整:修改
conf/wrapper.conf
中的wrapper.java.maxmemory=1GB
(避免OOM)。 - 防火墙:确保9000端口开放。
- MySQL时区:若报时区错误,在JDBC URL中添加
&serverTimezone=UTC
。
通过以上步骤,您可顺利在JDK 1.8环境中搭建SonarQube 7.8,并与Maven项目集成实现代码质量管理。若有疑问,欢迎评论区交流!
到此这篇关于全面解析SonarQube 7.8安装与Maven集成指南:兼容JDK 1.8和MySQL的代码质量管理的文章就介绍到这了,更多相关SonarQube 7.8安装与Maven集成内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论