最近由于工作需要,接觸到了Sonar,使用它的出發(fā)點是因為它能統(tǒng)計代碼注釋率,而且支持drill down,可以依次看到工程、包、類的注釋率。

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

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

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

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