天天看點

持續檢查之sonar初體驗

安裝、啟動Sonar:

Sonar的安裝很容易,按照Sonar官方首頁的安裝指南解壓縮即可。

Sonar預設使用derby作為資料庫,你隻需要在sonar.properties檔案中去掉對derby資料庫屬性的注釋,然後啟動Apache derby資料庫。

按照文檔介紹,啟動Sonar,預設的首頁位址是http://localhost:9000,登入使用者名和密碼是sonar/sonar。

使用Sonar檢查代碼:

要使用Sonar檢查代碼,也很容易。

如果待檢查項目是maven項目,則隻需要安裝sonar maven plugin即可;如果是非maven項目,則需要在項目根目錄下建立pom.xml,内容按照文檔配置。具體參 見:http://docs.codehaus.org/display/SONAR/Analyzing+Java+Projects

現在隻需要項目根目錄下,運作mvn sonar:sonar就可以運作sonar maven plugin來檢查項目中的代碼了。

注意:

如果項目源檔案使用的編碼與系統的預設字元集不同,比如作業系統是GBK,而源檔案編碼為UTF-8。為了能夠正常地檢查代碼,需要在pom.xml的properties元素下增加一項配置如:

< project .build.sourceEncoding > UTF-8 </ project.build.sourceEncoding >

否則,sonar在生成checkstyle.xml的時候,不會将正确的編碼傳進去,導緻checkstyle在做AST分析的過程中使用了錯誤 的字元集,進而提示字元錯誤:“expecting 'xxx', but got '<EOF>'”。即使是在調用mvn sonar:sonar的時候,增加參數如:

mvn -Dfile.encoding=UTF-8 -DsourceEncoding=UTF-8 sonar:sona      

也無法生效,雖然通過-e開關是可以看到系統的預設字元集已經改成了UTF-8。

好了,sonar已經安裝完畢,而且也順利地完成了代碼的分析和檢查。

下一步,我們就可以分析sonar輸出的報告,判斷代碼的品質,制定改善的措施了。