软件环境
操作系统环境
Win7旗舰版64位,16G/4核I5
JAVA SDK
需要使用JAVA11,本文选择了adoptopenjdk,官网是:https://adoptopenjdk.net,笔者在最近了解到这个版本分支,
听说他有一个基于IBM的OpenJ9的JVM,非常节省内存,适合内存消耗厉害的。HotSpot适合CPU计算密集型的;
按笔者对这里SonarQube这款软件的理解,应该是CPU使用的比较多,并不适合使用他,由于本地测试机器内存有限,
算是尝鲜试用,其他JDK也可以,只要版本是11就可以。
不使用JDK11会报以下错误:
SonarQube requires Java 11 to run
SonarQube
本篇文章主旨,官方网站https://www.sonarqube.org/,因为其他版本需要费用,本文使用社区版 Community 8.1.0.31237 ,下载地址:
https://www.sonarqube.org/downloads/
数据库
PostgreSQL 10,SonarQube 7.9以后的版本已经放弃了MySQL,具体原因参考这个MySQL: SonarQube和Gitlab放弃支持的原因
数据库和JDK是强制要求,必须使用JDK11和,不能使用Mysql,否则在启动时会报以下错误:
mysql:Unsupported JDBC driver provider: mysql
本文使用PostgreSQL 10,官方网站:https://www.postgresql.org,下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
安装过程:https://www.cnblogs.com/2dogslife/p/8414764.html
配置过程
安装完成后进入数据库目录下面的pgAdmin 4,如图所示:
点击pgAdmin启动web程序,进来会默认设置密码,随便设置一个并且记录下来。
然后右键Login/Group Roles弹出以下图片
按照以下图示操作:
创建数据库
配置数据库权限
中文插件
本文使用的语言包版本:8.1-RC1
下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.1-RC1,
至此,以上软件环境准备完毕
配置环境
SonarQube启动参数
打开sonarQube目录下的sonar.properties,添加以下参数
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar
打开warpper.conf修改属性为如下配置
wrapper.java.command=D:developAdoptOpenJDKjdk-11.0.5.10-openj9injava
上面的D:developAdoptOpenJDKjdk-11.0.5.10-openj9是我本地JDK11的安装路径
启动服务
启动前需要下载postgresql的驱动下载回来,并且要把上面的语言包放到SonarQube的目录中
驱动文件PostgreSQL JDBC 4.2 Driver, 42.2.9
JDBC安装目录
将下载回来的语言包sonar-l10n-zh-plugin-8.1-RC1.jar放入extensionsplugins目录中
切入到binwindows-x86-64目录,运行StartSonar.bat 运行成功以后界面如下
中途如果遇到其他问题,自己查看日志解决吧,笔者先下载开发者版本,然后启动,占用了9001端口,没启动成功
使用以下方法查找到对应进程id并且杀死
windows下根据tcp端口查询对应的进程id(端口被占用)
因为wrapper.exe会把程序设置为守护进程,光杀死了9000端口,没把另外一个9001端口对应进程关闭。
如果你想把他设置为服务,可以这样做:
安装服务 bin/InstallNTService.bat 卸载服务 bin/UninstallNTService.bat
启动服务 bin/StartNTService.bat 停止服务bin/StopNTService.bat
使用起来非常简单
使用SonarQube进行代码质量走查
安装好以后打开网址http://localhost:9000,初次启动后台会下载插件进行初始化
默认登录用户名及密码为admin/admin
插件
插件是一个衡量软件是否有扩展性,以及能否保证持续生命力的一种组件技术。进入后台,按照图示打开插件市场
界面如下
各位看官可以在此自己选择的插件:比如
Checkstyle
Findbugs
MyBatis Plugin for SonarQube
YAML Analyzer
Code Smells
等
下一篇文章将介绍如何使用:IDEA中使用插件sonarlint连接到SonarQube对代码质量进行管控
本文参考/转载以下一些博客:
https://stackoverflow.com/questions/56884683/sonerqube-doesnt-start
https://blog.csdn.net/xinluke/article/details/52174026