国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

這篇具有很好參考價(jià)值的文章主要介紹了【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


SonarQube是管理代碼質(zhì)量一個(gè)開(kāi)放平臺(tái),可以快速的定位代碼中潛在的或者明顯的錯(cuò)誤,下面將會(huì)介紹一下這個(gè)工具的安裝、配置以及使用。

簡(jiǎn)介

1. sonar是什么

Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)源平臺(tái),用于管理代碼的質(zhì)量,通過(guò)插件形式可以支持二十幾種語(yǔ)言的代碼質(zhì)量檢測(cè),通過(guò)多個(gè)維度的檢查了快速定位代碼中潛在的或者明顯的錯(cuò)誤。

2. SonarQube與Sonar

SonarQube是sonar的服務(wù)端,相當(dāng)于一個(gè)web服務(wù)器中的tomcat,用來(lái)發(fā)布應(yīng)用,在線瀏覽分析等。

安裝

1.下載sonarqubexxx.zip并且解壓即可:

下載地址:http://www.sonarqube.org/downloads/

下載完成后解壓后點(diǎn)擊StartSonar.bat啟動(dòng)即可,如下:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用
http訪問(wèn)9000端口出現(xiàn)下面則證明安裝成功。 (如果需要修改端口等信息修改sonarqube-6.7.6\conf\sonar.properties即可)

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

2.配置數(shù)據(jù)庫(kù)

  1. 在mysql數(shù)據(jù)庫(kù)新建一個(gè)庫(kù)的名稱為sonar

  2. 修改sonar/conf/sonar.properties的db信息:

不用放置驅(qū)動(dòng)包,也不用創(chuàng)建表。

sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

3.重啟sonarQube會(huì)自動(dòng)建表。

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

4.接下來(lái)訪問(wèn)9000端口然后進(jìn)行登錄即可。默認(rèn)創(chuàng)建的用戶名和密碼都是admin??梢栽趕ystem選項(xiàng)卡看到系統(tǒng)信息
【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

使用

1.下載sonar-scanner:(這個(gè)工具是對(duì)源碼進(jìn)行掃描,并將結(jié)果保存到數(shù)據(jù)庫(kù)以便用上面的sonarqube進(jìn)行分析)

下載地址: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

2.配置mysql信息

\sonar\sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties文件

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
#sonar.host.url=http://localhost:9000

#----- Default source code encoding
#sonar.sourceEncoding=UTF-8

sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

3.配置環(huán)境變量 并測(cè)試

path中增加如下變量: E:\sonar\sonar-scanner-3.3.0.1492-windows\bin

C:\Users\Administrator>sonar-scanner --version
INFO: Scanner configuration file: E:\sonar\sonar-scanner-3.3.0.1492-windows\bin\..\conf\sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.3.0.1492
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Windows 10 10.0 amd64

4.打開(kāi)要進(jìn)行代碼分析的項(xiàng)目根目錄,新建sonar-project.properties文件

# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=springboot-ssm
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/main/java
sonar.java.binaries=./target/classes
 
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

解釋:projectName是項(xiàng)目名字,sources是源文件所在的目錄;sonar.java.binaries是項(xiàng)目編譯后的class文件的目錄。

5.設(shè)置成功后,啟動(dòng)sonarqube服務(wù)

6.開(kāi)始分析:

cmd窗口進(jìn)入到項(xiàng)目的根路徑,執(zhí)行下面命令即可:

E:\xiangmu\springboot-ssm>sonar-scanner

如下:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

7.訪問(wèn)9000端口查看分析結(jié)果

項(xiàng)目分析概要圖:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

查看存在的bug:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

8.選擇一個(gè)bug進(jìn)行查看(可以看到與git也進(jìn)行了集成,可以看到編寫(xiě)人與時(shí)間以及bug的原因)

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

此工具還分析出一些異常信息的記錄等,如下:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

9. 解決下面的bug

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

代碼修改為下面即可:(上面邏輯應(yīng)該是沒(méi)有錯(cuò),只是在多次改變引用的情況下被檢測(cè)為bug)

   @Override
    public Token addOrUpdateToken(String username) {
        // 1.判斷是否有對(duì)應(yīng)的token,如果有的話更新時(shí)間,沒(méi)有的話就創(chuàng)建token并且返回
        Token token = findTokenByUsername(username);
        // 1.1創(chuàng)建token并返回
        if (token == null) {
            return generateAndSaveTokenByUserName(username);
        }

        // 1.2根據(jù)失效時(shí)間更新且返回token
        return updateTokenByTokenLoseTime(token);
    }

10.解決異常處理的bug
【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

代碼修改為:

@Scheduled(fixedRate = 10000)
public void cron() {
    try {
        Thread.sleep(2000);
        System.out.println("spring anno task execute times " + count++);
    } catch (InterruptedException e) {
        System.err.println("InterruptedException " + e);
        Thread.currentThread().interrupt();
    }
}

11.程序中故意寫(xiě)一個(gè)空指針異??词欠窨梢詸z測(cè)出來(lái)

String string = null;
if(string.equals("xxx")){
    System.out.println("xxx");
}

結(jié)果:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

更多的學(xué)習(xí)參考官網(wǎng):
  https://docs.sonarqube.org/display/SCAN/Advanced+SonarQube+Scanner+Usages

https://www.sonarqube.org/

補(bǔ)充:sonarqube漢化
到https://docs.sonarqube.org/display/PLUG/Plugin+Library 網(wǎng)站搜索 chinese pack

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

然后點(diǎn)擊到對(duì)應(yīng)的git地址https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases下載對(duì)應(yīng)版本的jar包,下載之后放到sonar\sonarqube-6.7.6\extensions\plugins目錄下面重啟即可,如下:
  
【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

再次通過(guò)9000端口訪問(wèn)發(fā)現(xiàn)變?yōu)橹形陌?

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

注冊(cè)為windows服務(wù)

sonar自帶的有注冊(cè)與刪除服務(wù)的方法,采用wrapper注冊(cè)為服務(wù),如下已管理員方式運(yùn)行InstallNTService.bat即可:
【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

注冊(cè)為服務(wù)之后我這里啟動(dòng)服務(wù)報(bào)錯(cuò)不能正常啟動(dòng)服務(wù),到 %sonar%/logs/sonar.log中查看原因如下:

Launching a JVM...
Unable to execute Java command.  系統(tǒng)找不到指定的文件。 (0x2)

解決辦法:修改%sonar%/conf/wrapper.conf中java的路徑為絕對(duì)路徑

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

補(bǔ)充:sonar-scanner的配置也可以進(jìn)行分模塊配置,比如我想檢測(cè)一個(gè)web項(xiàng)目的所有文件(包括Java、JSP、JS、Html、XML),如下:

0. 如果檢測(cè)html和JSP需要下載sonar-html-plugin-3.1.0.1615.jar插件置于sonarqube-6.7.6\extensions\plugins目錄下,而且html的language為web,jsp的language為jsp

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

1.項(xiàng)目結(jié)構(gòu)如下:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

2.sonar-project.properties配置文件如下:

# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=sonarTest
sonar.projectVersion=1.0
sonar.modules=java-module,javascript-module,xml-module,jsp-module,html-module
sonar.sourceEncoding=UTF-8

# Java module 
java-module.sonar.projectName=Java Module 
java-module.sonar.language=java 
java-module.sonar.projectBaseDir=.
java-module.sonar.sources=src
#ignore files and directory
java-module.sonar.exclusions=src/cn/qlq/test2/**,src/cn/qlq/test3.java
sonar.java.binaries=./build

# JavaScript module 
javascript-module.sonar.projectName=JavaScript Module 
javascript-module.sonar.projectBaseDir=.
javascript-module.sonar.language=js 
javascript-module.sonar.sources=WebContent

# Jsp module 
jsp-module.sonar.projectName=Jsp Module 
jsp-module.sonar.projectBaseDir=.
jsp-module.sonar.language=jsp
jsp-module.sonar.sources=WebContent

# Html module 
html-module.sonar.projectName=Html Module 
html-module.sonar.projectBaseDir=.
html-module.sonar.language=web
html-module.sonar.sources=WebContent

#Xml module 
xml-module.sonar.projectName=Xml Module 
xml-module.sonar.projectBaseDir=.
xml-module.sonar.language=xml
xml-module.sonar.sources=WebContent

3.測(cè)試結(jié)果從web上訪問(wèn)如下:
【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

補(bǔ)充:sonar集成阿里的p3c規(guī)則

1.下載插件

到https://github.com/mrprince/sonar-p3c-pmd/releases 下載jar包即可

2.jar放在sonarqube-6.7.6\extensions\plugins目錄下

3.重啟sonarqube

4.到網(wǎng)頁(yè)規(guī)則搜索p3c,如下

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

5. 創(chuàng)建規(guī)則,不用選文件,如下:

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

6.接下來(lái)激活p3c規(guī)則 (選擇上面的創(chuàng)建的p3c,同時(shí)搜索未激活的p3c,然后激活即可。如果p3c也需要即可sonar的自帶規(guī)則就不要加搜索條件,選擇所有的規(guī)則)

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

7.查看p3c激活的規(guī)則 (48條)

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

8. 到質(zhì)量配置設(shè)為java默認(rèn)規(guī)則即可

【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用

9.簡(jiǎn)單的測(cè)試

sonar自帶的與p3c規(guī)則最明顯的區(qū)別是:

str.equals(“xxx”)在p3c會(huì)被檢測(cè),在自帶規(guī)則不會(huì)被檢測(cè)到。

System.out.print… 會(huì)被自帶規(guī)則檢測(cè)到,p3c不會(huì)檢測(cè)到。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-446944.html

到了這里,關(guān)于【代碼質(zhì)量管理開(kāi)源平臺(tái)】sonar的安裝以及使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • QMS-云質(zhì)-質(zhì)量管理軟件-QMS軟件-如何選擇質(zhì)量管理軟件?

    -云質(zhì)信息原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明來(lái)源- 閱讀: QMS,質(zhì)量管理軟件,如何選擇質(zhì)量管理軟件,質(zhì)量管理軟件廠商,國(guó)內(nèi)質(zhì)量管理軟件,QMS軟件,企業(yè)數(shù)字化轉(zhuǎn)型,質(zhì)量管理平臺(tái),數(shù)字化質(zhì)量管理建設(shè),數(shù)字化質(zhì)量軟件 在談如何選擇之前,我們先談一談企業(yè)導(dǎo)入質(zhì)量管理

    2024年02月02日
    瀏覽(21)
  • 項(xiàng)目管理之項(xiàng)目工作的質(zhì)量管理

    項(xiàng)目管理之項(xiàng)目工作的質(zhì)量管理

    在當(dāng)今的商業(yè)環(huán)境中,質(zhì)量成為了企業(yè)成功的關(guān)鍵因素之一。項(xiàng)目管理作為企業(yè)管理的重要手段,如何管理項(xiàng)目工作的質(zhì)量也成為了項(xiàng)目管理的重要內(nèi)容。本文將結(jié)合項(xiàng)目管理方法論,探討如何管理項(xiàng)目工作的質(zhì)量,以期為項(xiàng)目經(jīng)理提供一些參考和啟示。 項(xiàng)目管理方法論是一

    2024年02月06日
    瀏覽(30)
  • 第12章 項(xiàng)目質(zhì)量管理

    第12章 項(xiàng)目質(zhì)量管理

    項(xiàng)目質(zhì)量管理包括把組織的質(zhì)量政策應(yīng)用于規(guī)劃、管理、控制項(xiàng)目和產(chǎn)品質(zhì)量要求,以滿足干系人目標(biāo)的各個(gè)過(guò)程。此外,項(xiàng)目質(zhì)量管理以執(zhí)行組織的名義支持過(guò)程的待續(xù)改進(jìn)活動(dòng)。項(xiàng)目質(zhì)量管理需要兼顧項(xiàng)目管理與項(xiàng)目可交付成果兩個(gè)方面,它適用于所有項(xiàng)目,無(wú)論項(xiàng)目的

    2024年01月22日
    瀏覽(20)
  • 華為質(zhì)量管理:從產(chǎn)品質(zhì)量到用戶體驗(yàn),Kano模型成為新方向

    華為質(zhì)量管理:從產(chǎn)品質(zhì)量到用戶體驗(yàn),Kano模型成為新方向

    目錄 前言 華為質(zhì)量管理的四個(gè)階段 基于 IPD 如何做質(zhì)量管理呢? CSDN相關(guān)課程 作者簡(jiǎn)介 今天繼續(xù)來(lái)談?wù)勅A為流程體系中的質(zhì)量管理過(guò)程。 通常來(lái)說(shuō)質(zhì)量具體是指產(chǎn)品的質(zhì)量,也就是產(chǎn)品的使用價(jià)值及其屬性。 產(chǎn)品再細(xì)分的話可以分為三個(gè)層次,分別是: 第一層次是核心產(chǎn)

    2024年02月11日
    瀏覽(27)
  • 銀行數(shù)據(jù)治理:數(shù)據(jù)質(zhì)量管理實(shí)踐

    現(xiàn)代商業(yè)銀行日常經(jīng)營(yíng)活動(dòng)中積累了大量數(shù)據(jù),這些數(shù)據(jù)除了支持銀行前臺(tái)業(yè)務(wù)流程運(yùn)轉(zhuǎn)之外,越來(lái)越多地被用于決策支持領(lǐng)域,風(fēng)險(xiǎn)控制、產(chǎn)品定價(jià)、績(jī)效考核等管理決策過(guò)程也都需要大量高質(zhì)量數(shù)據(jù)支持。銀行日常經(jīng)營(yíng)決策過(guò)程的背后,實(shí)質(zhì)是數(shù)據(jù)的生產(chǎn)、傳遞和利用過(guò)

    2024年02月09日
    瀏覽(32)
  • QMS質(zhì)量管理系統(tǒng)是什么?

    QMS質(zhì)量管理系統(tǒng)是什么?

    QMS質(zhì)量管理系統(tǒng)是一種用于管理和優(yōu)化企業(yè)質(zhì)量管理的軟件系統(tǒng),在現(xiàn)代企業(yè)中,質(zhì)量管理是非常重要的環(huán)節(jié)。 1. QMS系統(tǒng)的概念 QMS系統(tǒng)是一種用于管理和優(yōu)化企業(yè)質(zhì)量管理的軟件系統(tǒng)。它可以幫助企業(yè)制定和實(shí)施質(zhì)量管理策略、管理和控制質(zhì)量過(guò)程、收集和分析質(zhì)量數(shù)據(jù)、

    2024年02月14日
    瀏覽(20)
  • hive數(shù)倉(cāng)-數(shù)據(jù)的質(zhì)量管理

    hive數(shù)倉(cāng)-數(shù)據(jù)的質(zhì)量管理

    版本20231116 要理解數(shù)據(jù)的質(zhì)量管理,應(yīng)具備hive數(shù)據(jù)倉(cāng)庫(kù)的相關(guān)知識(shí) 數(shù)據(jù)的質(zhì)量管理,表現(xiàn)保障在數(shù)據(jù)的健康性,即滿足消費(fèi)者期望程度,體現(xiàn)在他們對(duì)數(shù)據(jù)的使用預(yù)期,只有達(dá)到預(yù)期才能滿足決策層的參考。 大數(shù)據(jù)大而價(jià)值密度低,在有效信息數(shù)據(jù)挖掘上,可能會(huì)出現(xiàn)錯(cuò)誤

    2024年01月20日
    瀏覽(18)
  • 中車質(zhì)量管理體系

    中車唐山機(jī)車車輛有限公司(簡(jiǎn)稱中車唐山)以高速動(dòng)車組項(xiàng)目為載體,創(chuàng)建并持續(xù)完善 “1+1+3” 質(zhì)量管理體系(一個(gè)方針、一種理念、三個(gè)支撐機(jī)制),促進(jìn)公司產(chǎn)品和服務(wù)質(zhì)量全面提升,為中國(guó)高鐵從跟隨者、追趕者到引領(lǐng)者的跨越式發(fā)展做出了重要貢獻(xiàn)。 一、探索構(gòu)

    2024年02月09日
    瀏覽(22)
  • Hive的數(shù)據(jù)質(zhì)量管理與監(jiān)控

    數(shù)據(jù)質(zhì)量管理和監(jiān)控是大數(shù)據(jù)技術(shù)的核心環(huán)節(jié)之一,它涉及到數(shù)據(jù)的整合、清洗、驗(yàn)證和監(jiān)控等方面。Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,它可以幫助用戶對(duì)大量數(shù)據(jù)進(jìn)行查詢和分析。在Hive中,數(shù)據(jù)質(zhì)量管理和監(jiān)控的重要性不容忽視。 在大數(shù)據(jù)環(huán)境中,數(shù)據(jù)質(zhì)量問(wèn)題成為了

    2024年04月25日
    瀏覽(17)
  • 軟考高項(xiàng):項(xiàng)目質(zhì)量管理真題及答案

    軟考高項(xiàng):項(xiàng)目質(zhì)量管理真題及答案

    1.某公司在教育服務(wù)領(lǐng)域持續(xù)發(fā)展,已有豐富的項(xiàng)目經(jīng)驗(yàn),近日新立項(xiàng)的教育服務(wù)項(xiàng)目需要規(guī)劃質(zhì)量管理,則應(yīng)采用( )的方法。 A、成本收益分析法 B、質(zhì)量成本法 C、標(biāo)桿對(duì)照法 D、實(shí)驗(yàn)設(shè)計(jì) 2.關(guān)于質(zhì)量保證和質(zhì)量控制的描述,不正確的是( )。 A、質(zhì)量保證是為了滿足質(zhì)量目標(biāo)

    2024年02月14日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包