日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

sonar扫描普通JAVA执行,SonarQube扫描源代码的方法

發(fā)布時(shí)間:2025/3/11 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sonar扫描普通JAVA执行,SonarQube扫描源代码的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SonarQube掃描源代碼的方法

雷建鋒

一、分析源代碼綜述

一旦成功安裝了SonarQube平臺(tái),您就可以開始安裝一個(gè)分析器并開始創(chuàng)建項(xiàng)目了。在第一次分析時(shí),該平臺(tái)會(huì)自動(dòng)創(chuàng)建一個(gè)項(xiàng)目。如果您需要在第一個(gè)分析之前在項(xiàng)目上設(shè)置一些配置,那么您可以選擇配置它。

1.分析范圍:文件類型和數(shù)據(jù)類型

SonarQube可以對(duì)20多種不同的語(yǔ)言進(jìn)行分析。這種分析的結(jié)果將是質(zhì)量度量和問(wèn)題(編碼規(guī)則被破壞的實(shí)例)。然而,分析的內(nèi)容會(huì)因語(yǔ)言而異:

l? 在所有語(yǔ)言中,“(blame)責(zé)備”數(shù)據(jù)將自動(dòng)從支持的SCM提供者中導(dǎo)入。Git和SVN都是自動(dòng)支持的。其他提供商需要額外的插件。

l? 在所有語(yǔ)言中,都執(zhí)行對(duì)源代碼的靜態(tài)分析(Java文件、COBOL程序等)

l? 可以對(duì)某些語(yǔ)言執(zhí)行編譯后的代碼的靜態(tài)分析(Java中的類文件,c#的dll文件等等。)

l? 可以對(duì)某些語(yǔ)言執(zhí)行對(duì)代碼的動(dòng)態(tài)分析

2.無(wú)法識(shí)別的文件

默認(rèn)情況下,只有在分析過(guò)程中,才會(huì)將被語(yǔ)言插件識(shí)別的文件加載到項(xiàng)目中。例如,如果您的SonarQube實(shí)例上有Java和JavaScript插件,那么所有.Java和.js文件都會(huì)被加載,但是.xml文件將被忽略。

3.分析過(guò)程中

在分析過(guò)程中,從服務(wù)器請(qǐng)求數(shù)據(jù),分析文件,然后以報(bào)告的形式將結(jié)果數(shù)據(jù)發(fā)送回服務(wù)器,然后在服務(wù)器端異步分析。分析報(bào)告是排隊(duì)的,并按順序處理,因此很有可能在您的分析日志顯示完成之后的一個(gè)短暫的時(shí)間內(nèi),更新后的值在SonarQube項(xiàng)目中是不可見的。但是,您將能夠知道發(fā)生了什么,因?yàn)橐粋€(gè)圖標(biāo)將被添加到項(xiàng)目名稱旁邊。鼠標(biāo)懸停在上面以獲得更詳細(xì)的信息(如果您使用適當(dāng)?shù)臋?quán)限登錄,則會(huì)鏈接到鏈接)。

一旦處理完成,圖標(biāo)就會(huì)消失,但是如果分析報(bào)告處理失敗了,那么圖標(biāo)將會(huì)改變:

4.運(yùn)行分析

首先,您應(yīng)該為將要分析的項(xiàng)目的語(yǔ)言安裝插件,可以直接下載,也可以通過(guò)更新中心下載安裝;然后,您需要選擇一個(gè)分析方法。以下是可用的:

·??????? :?分析.net項(xiàng)目

·??????? :

Launch analysis from Maven with minimal configuration

·??????? :?Launch Gradle analysis

·??????? : Launch analysis from Ant

·??????? : Launch analysis from Jenkins

·??????? :?當(dāng)其他分析程序都不合適時(shí),從命令行啟動(dòng)分析。

注意,我們不建議在SonarQube分析運(yùn)行的機(jī)器上運(yùn)行防病毒掃描器,它可能導(dǎo)致不可預(yù)測(cè)的行為。

5.?? FAQ

Q.分析報(bào)錯(cuò):java.lang.OutOfMemoryError:

GC overhead limit exceeded.這個(gè)應(yīng)該怎么處理?

A.這意味著您的項(xiàng)目太大或太復(fù)雜,以至于掃描器無(wú)法用默認(rèn)的內(nèi)存分配進(jìn)行分析。要解決這個(gè)問(wèn)題,您需要將較大的內(nèi)存(使用-Xmx數(shù)值)分配給運(yùn)行分析的進(jìn)程,一些CI引擎可能會(huì)給你一個(gè)輸入來(lái)指定必要的值,例如,如果你在Jenkins的工作中使用Maven構(gòu)建步驟來(lái)運(yùn)行分析。否則,使用Java選項(xiàng)來(lái)設(shè)置更高的值。請(qǐng)注意,這里省略了設(shè)置Java選項(xiàng)的細(xì)節(jié),因?yàn)樗鼈兏鶕?jù)環(huán)境的不同而有所不同。

二、

1.

特性Feature

SonarQube Scanner是默認(rèn)用于分析SonarQube項(xiàng)目的啟動(dòng)器。

2.

安裝

1)

下載軟件,并解壓到,下載地址:

2)

更新全局設(shè)置以指向您的SonarQube服務(wù)器,打開并編輯編輯/conf/sonar-scanner.properties:

#-----

Default SonarQube server

sonar.host.url= #sonar.host.url配置的是實(shí)際sonar服務(wù)器的地址

3)

將?/bin?目錄添加到系統(tǒng)環(huán)境變量"path"中

4)

驗(yàn)證安裝是否成功:打開cmd面板,輸入sonar-scanner -h,出現(xiàn)下圖,則表示環(huán)境變量設(shè)置成功:

如果您需要更多的調(diào)試信息,您可以添加sonar.verbose屬性,添加命令行參數(shù)-Dsonar.verbose=true。

3.

用法use

1)在項(xiàng)目的根目錄中創(chuàng)建一個(gè)配置文件:?sonar-project.properties

\

需要注意的是,需要分析的源碼在windows系統(tǒng)上的,路徑分隔符需要將'\'替換為'/'。

2)

按照官方文檔設(shè)置配置文件時(shí)候,sonar scanner掃描報(bào)錯(cuò)“Please provide compiled classes of your project with

sonar.java.binaries property”,解決辦法是在sonar-project.properties

文件中增加一行

sonar.java.binaries=項(xiàng)目路徑/target/classes

以下是一個(gè)實(shí)際項(xiàng)目的配置文件:

# must be

unique in a given SonarQube instance

sonar.projectKey=game-of-life

# this is the

name and version displayed in the SonarQube UI. Was mandatory #prior to

SonarQube 6.1.

sonar.projectName=game-of-life

sonar.projectVersion=1.0

#sonar.language=java

# Path is

relative to the sonar-project.properties file. Replace "\" by

"/" on #Windows.

# This property

is optional if sonar.modules is set.

sonar.sources=.

# Encoding of

the source code. Default is default system encoding

#sonar.sourceEncoding=UTF-8

sonar.java.binaries=C:/game-of-life-master/gameoflife-core/build/classes

3)

進(jìn)行項(xiàng)目根目錄,也即sonar-project.properties文件所在目錄,運(yùn)行命令sonar-scanner

4)

若分析成功,則出現(xiàn)如下界面:

5)

登錄sonar服務(wù)器,會(huì)發(fā)現(xiàn)多了一個(gè)項(xiàng)目,即剛剛分析的項(xiàng)目。

6)

安全

任何授予執(zhí)行分析權(quán)限的用戶都可以進(jìn)行分析。如果任何一個(gè)組沒(méi)有被授予執(zhí)行分析權(quán)限,或者SonarQube實(shí)例被保護(hù)(屬性被設(shè)置為true),具有執(zhí)行分析權(quán)限的用戶的分析令牌必須通過(guò)?sonar.login屬性提供。舉例::?sonar-scanner -Dsonar.login=[my

analysis token]

4.

故障排除troubleshooting

5.?????? Going Future

三、

特性

建議對(duì)Java Maven項(xiàng)目使用此分析器進(jìn)行分析。

先決條件

l? Maven 3.x

l? SonarQube已經(jīng)完成

l? 至少您的SonarQube服務(wù)器支持的最小版本的Java是在使用的(最新LTS的Java 8)

l? 您希望分析的每種語(yǔ)言的語(yǔ)言插件都已安裝

l? 您已經(jīng)閱讀了

初始設(shè)置:全局設(shè)置

編輯位于$ MAVEN_HOME

/ conf或?/ .m2中的settings.xml文件。有三個(gè)地方需要新增:1)本地倉(cāng)庫(kù)路徑localRepository? 2)pluginGroup 3)sonar配置。舉例:

D:/maven/repo? #替換成本地repo倉(cāng)庫(kù)

org.sonarsource.scanner.maven

sonar

true

#替換成自己sonar服務(wù)器的實(shí)際RUL

分析一個(gè)Maven項(xiàng)目

分析一個(gè)Maven項(xiàng)目包括在pom.xml文件所在的目錄中運(yùn)行Maven目標(biāo):sonar:sonar

mvn clean verify sonar:sonar

# In some situation you may want to run sonar:sonar goal as a dedicated

step. Be sure to use install as first step for multi-module projects

mvn clean install

mvn sonar:sonar

# Specify the version of sonar-maven-plugin instead of using the latest.

See also 'How to Fix Version of Maven Plugin' below.

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.1.1170:sonar

舉例:

xmlns:xsi=""

xsi:schemaLocation="

">

D:/maven/repo

org.sonarsource.scanner.maven

sonar

true

分析完成后,若分析成功,則會(huì)出現(xiàn)這樣的界面

打開SonarQube系統(tǒng),發(fā)現(xiàn)新項(xiàng)目已經(jīng)體現(xiàn)在系統(tǒng)中的了

要獲得覆蓋率信息,您需要在分析之前生成覆蓋率報(bào)告。有關(guān)更多信息,請(qǐng)參閱。

四、

五、其他

sonarlint和pylint,與IDE結(jié)合使用非常好。

總結(jié)

以上是生活随笔為你收集整理的sonar扫描普通JAVA执行,SonarQube扫描源代码的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产老女人乱淫免费可以 | 99热97| 男女做爰猛烈吃奶啪啪喷水网站 | 色91av | 在线观看亚洲天堂 | 美女狠狠干 | 日本人妖xxxx | av在线免费观看网站 | 国产在线精品成人欧美 | 国产91网 | 亚洲人成影视 | av专区在线| 欧美啊v| 色欧美片视频在线观看 | 色视频免费在线观看 | 国产精品女教师 | 美女网站黄频 | 欧美做受xxxxxⅹ性视频 | 伊人艹| 成人一区二区视频 | 欧美激情视频二区 | 中文字幕视频网 | 开心激情婷婷 | 日本美女性高潮 | 秋霞电影网一区二区 | 男女日批免费视频 | 少妇色 | 亚洲高清色 | 在线免费观看黄网站 | 午夜国产一区二区三区 | 欧美 日韩 视频 | av三级在线观看 | 久久午夜无码鲁丝片午夜精品 | 久久蜜臀精品av | 一级特级毛片 | 国产精品嫩 | 久久国产视频网站 | 黄色三级大片 | 岛国精品资源网站 | 亚洲一卡二卡在线 | 亚洲综合网av | 不卡av影院| 成人日韩视频 | 老司机激情影院 | 黑人vs亚洲人在线播放 | 麻豆91精品 | 亚洲aⅴ在线 | 美女扒开粉嫩尿口 | 日本免费高清一区二区 | 日韩精彩视频在线观看 | www.日本黄色 | 看毛片看毛片 | 亚洲精品一区二区潘金莲 | 91精品免费观看 | 欧美性综合 | 亚洲成人第一页 | 青青艹av | 国产精品国产三级国产aⅴ中文 | eeuss日韩 | 中文字幕码精品视频网站 | 欧美激情欧美激情在线五月 | 国产真人做爰毛片视频直播 | 特级做a爰片毛片免费69 | 18成人免费观看网站下载 | 亚洲天堂欧美在线 | 日本做爰三级床戏 | 免费看欧美黑人毛片 | 国产黄色av片 | aaa特级毛片| 中文字幕在线播出 | 色综合啪啪 | 亚洲夜夜爽 | 伊人久久成人网 | 奇米网狠狠干 | 国产a v一区二区三区 | 亚洲中文字幕无码爆乳av | 99久久精品免费看 | 国产精品成 | 日本激情在线 | 国产精品污www一区二区三区 | 奇米影视9999| www.一区二区三区四区 | 女人和拘做爰正片视频 | 性色av一区二区 | 亚洲精品人妻无码 | 国产成人免费片在线观看 | 亚洲精品色图 | 成人黄色激情小说 | 青青草久久伊人 | 日韩伦理一区 | 在线看片你懂 | 国产乱轮视频 | 在线的av| 91性高潮久久久久久久 | 91久久影院 | av网站一区二区 | 精品人妻av一区二区三区 | 欧美xxxx888 | 九九九九精品九九九九 |