OOPAA

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

          持續(xù)檢查之sonar初體驗

          Posted on 2010-12-22 22:55 mingj 閱讀(7013) 評論(1)  編輯  收藏 所屬分類: agile 敏捷設(shè)計開發(fā)

          安裝、啟動Sonar:

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

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

          按照文檔介紹,啟動Sonar,默認的主頁地址是http://localhost:9000,登錄用戶名和密碼是sonar/sonar。

          使用Sonar檢查代碼:

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

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

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

          注意:

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

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

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

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

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

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

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


          評論

          # re: 持續(xù)檢查之sonar初體驗  回復(fù)  更多評論   

          2011-01-25 20:40 by zcsunt
          太感謝了!這個編碼的問題找了好久都沒找到。
          主站蜘蛛池模板: 孟村| 黔江区| 长垣县| 南华县| 娱乐| 鹿泉市| 临夏市| 武乡县| 隆回县| 子洲县| 安溪县| 罗山县| 金昌市| 闸北区| 桦南县| 牙克石市| 江阴市| 永春县| 长岭县| 泽普县| 红河县| 五指山市| 六枝特区| 阜平县| 大足县| 乌兰县| 安乡县| 平泉县| 芒康县| 大安市| 湄潭县| 新建县| 资源县| 连州市| 松阳县| 卫辉市| 乃东县| 晋州市| 兰西县| 泰州市| 德兴市|