最近由于工作需要,接觸到了Sonar,使用它的出發(fā)點(diǎn)是因?yàn)樗芙y(tǒng)計(jì)代碼注釋率,而且支持drill down,可以依次看到工程、包、類的注釋率。

但Sonar作為一個(gè)很不錯(cuò)的持續(xù)集成工具,它的功能源不止于此,sonar 可以持續(xù),自動(dòng)地統(tǒng)計(jì)并分析軟件項(xiàng)目的相關(guān)質(zhì)量數(shù)據(jù),例如單元測(cè)試的通過(guò)率,覆蓋率,代碼的復(fù)雜度,代碼的行數(shù),代碼注釋率等等,用于評(píng)估和度量軟件項(xiàng)目質(zhì)量。

我的Sonar的第一個(gè)應(yīng)用,是Sonar和maven的配合使用,Sonar對(duì)Maven支持的比較好,網(wǎng)站上對(duì)于這兩者結(jié)合使用的文章也非常多,因此如何用Sonar和maven來(lái)分析項(xiàng)目質(zhì)量,在這邊就不細(xì)說(shuō)了,可以參考官方的網(wǎng)站:http://docs.codehaus.org/display/SONAR/Use+Sonar。這邊主要說(shuō)一下大致的步驟,以及在具體使用中碰到的幾個(gè)問(wèn)題。Sonar的使用真的非常簡(jiǎn)單,大概就包括以下幾步,

 1、到官方網(wǎng)站下載Sonar 的壓縮包,解壓到任意目錄,但是一定要注意:目錄中不允許有中文,不然啟動(dòng)Sonar后,訪問(wèn):http://localhost:9000返回的界面會(huì)報(bào)錯(cuò)。
 2、啟動(dòng)Sonar應(yīng)用,可以直接點(diǎn)擊bin/windows-x86-32目錄下的StartSonar.bat,啟動(dòng)過(guò)程可能要1分多鐘,請(qǐng)耐心等待,這里Sonar有一點(diǎn)不好的是,彈出的console中不打印任何信息。
 3、進(jìn)入你的工程目錄(當(dāng)前目錄下面有pom.xml文件),運(yùn)行:mvn clean install  sonar:sonar,看到build successfully之后,就可以訪問(wèn):http://localhost:9000來(lái)分析你的工程的代碼質(zhì)量了。

這里要說(shuō)明的是,在執(zhí)行maven命令時(shí),后臺(tái)會(huì)報(bào)一些亂碼方面的錯(cuò)誤,是由于java代碼中出現(xiàn)中文字符串的問(wèn)題造成的。可以通過(guò)以下方式解決:在<properties>中添加:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>,這是我試過(guò)的唯一的解決方案,在網(wǎng)上還提到兩種解決方案,但都不管用。