OOPAA

          Focusing on OO, Patterns, Architecture, and Agile
          posts - 29, comments - 75, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          安裝、啟動(dòng)Sonar:

          Sonar的安裝很容易,按照Sonar官方主頁(yè)的安裝指南解壓縮即可。

          Sonar默認(rèn)使用derby作為數(shù)據(jù)庫(kù),你只需要在sonar.properties文件中去掉對(duì)derby數(shù)據(jù)庫(kù)屬性的注釋,然后啟動(dòng)Apache derby數(shù)據(jù)庫(kù)。

          按照文檔介紹,啟動(dòng)Sonar,默認(rèn)的主頁(yè)地址是http://localhost:9000,登錄用戶名和密碼是sonar/sonar。

          使用Sonar檢查代碼:

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

          如果待檢查項(xiàng)目是maven項(xiàng)目,則只需要安裝sonar maven plugin即可;如果是非maven項(xiàng)目,則需要在項(xiàng)目根目錄下創(chuàng)建pom.xml,內(nèi)容按照文檔配置。具體參 見(jiàn):http://docs.codehaus.org/display/SONAR/Analyzing+Java+Projects

          現(xiàn)在只需要項(xiàng)目根目錄下,運(yùn)行mvn sonar:sonar就可以運(yùn)行sonar maven plugin來(lái)檢查項(xiàng)目中的代碼了。

          注意:

          如果項(xiàng)目源文件使用的編碼與系統(tǒng)的默認(rèn)字符集不同,比如操作系統(tǒng)是GBK,而源文件編碼為UTF-8。為了能夠正常地檢查代碼,需要在pom.xml的properties元素下增加一項(xiàng)配置如:

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

          否則,sonar在生成checkstyle.xml的時(shí)候,不會(huì)將正確的編碼傳進(jìn)去,導(dǎo)致checkstyle在做AST分析的過(guò)程中使用了錯(cuò)誤 的字符集,從而提示字符錯(cuò)誤:“expecting 'xxx', but got '<EOF>'”。即使是在調(diào)用mvn sonar:sonar的時(shí)候,增加參數(shù)如:

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

          也無(wú)法生效,雖然通過(guò)-e開(kāi)關(guān)是可以看到系統(tǒng)的默認(rèn)字符集已經(jīng)改成了UTF-8。

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

          下一步,我們就可以分析sonar輸出的報(bào)告,判斷代碼的質(zhì)量,制定改善的措施了。


          評(píng)論

          # re: 持續(xù)檢查之sonar初體驗(yàn)  回復(fù)  更多評(píng)論   

          2011-01-25 20:40 by zcsunt
          太感謝了!這個(gè)編碼的問(wèn)題找了好久都沒(méi)找到。
          主站蜘蛛池模板: 合作市| 田阳县| 皋兰县| 新平| 宜春市| 辰溪县| 洞口县| 禄丰县| 仁化县| 阿拉善左旗| 普安县| 惠东县| 青田县| 卢龙县| 冕宁县| 寻乌县| 西安市| 泗阳县| 新丰县| 满城县| 宁德市| 隆昌县| 佛教| 来宾市| 石河子市| 霍州市| 安新县| 抚松县| 周宁县| 鄢陵县| 大渡口区| 雷山县| 平安县| 广元市| 古蔺县| 修水县| 平陆县| 宝鸡市| 江永县| 财经| 龙门县|