SonarQube安裝、配置與使用教程圖解
SonarQube是管理代碼質(zhì)量一個(gè)開(kāi)放平臺(tái),可以快速的定位代碼中潛在的或者明顯的錯(cuò)誤,下面將會(huì)介紹一下這個(gè)工具的安裝、配置以及使用。
準(zhǔn)備工作;
1、jdk(不再介紹)
2、sonarqube:http://www.sonarqube.org/downloads/
3、SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip
4、mysql數(shù)據(jù)庫(kù)(不再介紹)
一、安裝篇
1.下載好sonarqube后,解壓打開(kāi)bin目錄,啟動(dòng)相應(yīng)OS目錄下的StartSonar。如本文演示使用的是win的64位系統(tǒng),則打開(kāi)D:\sonar\sonarqube-5.3\sonarqube-5.3\bin\windows-x86-64\StartSonar.bat
2.啟動(dòng)瀏覽器,訪問(wèn)http://localhost:9000,如出現(xiàn)下圖則表示安裝成功。

二、配置篇
1.打開(kāi)mysql,新建一個(gè)數(shù)據(jù)庫(kù)。
2.打開(kāi)sonarqube安裝目錄下的D:\sonar\sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件
3.在mysql5.X節(jié)點(diǎn)下輸入以下信息
sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=gmsd
sonar.jdbc.password=gmsdtrade
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
url是數(shù)據(jù)庫(kù)連接地址,username是數(shù)據(jù)庫(kù)用戶名,jdbc.password是數(shù)據(jù)庫(kù)密碼,login是sonarqube的登錄名,sonar.password是sonarqube的密碼
4.重啟sonarqube服務(wù),再次訪問(wèn)http://localhost:9000,會(huì)稍微有點(diǎn)慢,因?yàn)橐跏蓟瘮?shù)據(jù)庫(kù)信息
5.數(shù)據(jù)庫(kù)初始化成功后,登錄
6.按照下圖的點(diǎn)擊順序,進(jìn)入插件安裝頁(yè)面

7.搜索chinese Pack,安裝中文語(yǔ)言包

8.安裝成功后,重啟sonarqube服務(wù),再次訪問(wèn)http://localhost:9000/,即可看到中文界面

三、使用篇
1.打開(kāi)D:\sonar\sonar-scanner-2.5\conf\sonar-runner.properties文件
2.mysql節(jié)點(diǎn)下輸入以下信息
sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=gmsd
sonar.jdbc.password=gmsdtrade
注意:如果測(cè)試項(xiàng)目與服務(wù)器不在同一臺(tái)機(jī)子,則需要添加服務(wù)器的IP:
#----- Default SonarQube server
sonar.host.url=http://XXX.XXX.XXX.XXX:9000[/code]
3.配置環(huán)境變量
a.新建變量,name=SONAR_RUNNER_HOME。value=D:\sonar\sonar-scanner-2.5
b.打開(kāi)path,輸入%SONAR_RUNNER_HOME%\bin;
c.sonar-runner -version,出現(xiàn)以下信息,則表示環(huán)境變量設(shè)置成功

4.打開(kāi)要進(jìn)行代碼分析的項(xiàng)目根目錄,新建sonar-project.properties文件
5.輸入以下信息
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=apiautocore
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
其中:projectName是項(xiàng)目名字,sources是源文件所在的目錄
6.設(shè)置成功后,啟動(dòng)sonarqube服務(wù),并啟動(dòng)cmd
7.在cmd進(jìn)入項(xiàng)目所在的根目錄,輸入命令:sonar-runner,分析成功后會(huì)出現(xiàn)下圖

8.打開(kāi)http://localhost:9000/,我們會(huì)看到主頁(yè)出現(xiàn)了分析項(xiàng)目的概要圖

9.我們點(diǎn)擊項(xiàng)目,選擇問(wèn)題鏈接,會(huì)看到分析代碼的bug,哇,好多

10.選擇一個(gè)最嚴(yán)重的bug,看看

原來(lái)是這個(gè)地方會(huì)出現(xiàn)空指針異常,原因是我沒(méi)有進(jìn)行初始化就使用這個(gè)變量了。Over
預(yù)知更多使用,請(qǐng)登錄官網(wǎng)自行學(xué)習(xí)。
http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring框架花式創(chuàng)建Bean的n種方法(小結(jié))
這篇文章主要介紹了Spring框架花式創(chuàng)建Bean的n種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Java ThreadLocal 線程安全問(wèn)題解決方案
這篇文章主要介紹了Java ThreadLocal 線程安全問(wèn)題解決方案的相關(guān)資料,需要的朋友可以參考下2016-09-09
在SpringBoot框架下實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出的方法詳解
SpringBoot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,今天我們就使用純前對(duì)按表格控件帶大家了解,如何在Spring Boot框架下實(shí)現(xiàn)Excel服務(wù)端導(dǎo)入導(dǎo)出,需要的朋友可以參考下2023-06-06
java如何調(diào)用kettle設(shè)置變量和參數(shù)
文章簡(jiǎn)要介紹了如何在Java中調(diào)用Kettle,并重點(diǎn)討論了變量和參數(shù)的區(qū)別,以及在Java代碼中如何正確設(shè)置和使用這些變量,避免覆蓋Kettle中已設(shè)置的變量,作者分享了個(gè)人經(jīng)驗(yàn),并鼓勵(lì)大家參考和使用腳本之家2025-01-01
Java基于二叉查找樹(shù)實(shí)現(xiàn)排序功能示例
這篇文章主要介紹了Java基于二叉查找樹(shù)實(shí)現(xiàn)排序功能,結(jié)合實(shí)例形式分析了Java二叉查找樹(shù)的定義、遍歷及排序等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Java數(shù)據(jù)結(jié)構(gòu)之LinkedList從鏈表到實(shí)現(xiàn)
LinkedList是Java中常用的數(shù)據(jù)結(jié)構(gòu)之一,實(shí)現(xiàn)了鏈表的特性,支持快速添加、刪除元素,可以用于實(shí)現(xiàn)隊(duì)列、棧、雙向隊(duì)列等數(shù)據(jù)結(jié)構(gòu)。LinkedList的內(nèi)部實(shí)現(xiàn)采用了雙向鏈表,其中每個(gè)節(jié)點(diǎn)都包含前驅(qū)節(jié)點(diǎn)和后繼節(jié)點(diǎn)的引用,可以直接訪問(wèn)鏈表的頭尾元素2023-04-04
SpringBoot瘦身打包部署的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot瘦身打包部署的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
SpringBoot登錄驗(yàn)證token攔截器的實(shí)現(xiàn)
本文主要介紹了SpringBoot登錄驗(yàn)證token攔截器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Java編程實(shí)現(xiàn)獲取mp3時(shí)長(zhǎng)及播放mp3文件的方法
這篇文章主要介紹了Java編程實(shí)現(xiàn)獲取mp3時(shí)長(zhǎng)及播放mp3文件的方法,涉及java基于jaudiotagger與jl包對(duì)MP3音頻文件屬性操作及音頻播放相關(guān)操作技巧,并提供了相關(guān)jar包的本站下載,需要的朋友可以參考下2018-02-02

