今天忽然心血來潮想來搭建sonar檢測一下手上的項目代碼質量, 首先固然是到sonar官網下載最新版本了, 地址在這 :http://www.sonarqube.org/downloads/ , 我下載的是SonarQube 4.0 , 而後解壓, 進根目錄裏的bin目錄下,找到對應的操做系統版本的啓動文件, 雙擊StartSonar.bat 後看到這個界面就表示啓動了
python
默認的端口是9000, 打開瀏覽器訪問一下 http://localhost:9000/ , 一切正常的話你應該能夠看到這個界面mysql
這樣就表示啓動成功了, 默認的賬號密碼均是admin, 儘管我電腦的操做系統是英文版的, 但我仍是比較願意看到中文版的sonar, 因此這裏我要先去將它中文化, sonar具備很強的擴展性,因此中文插件也是有的, 在它官網裏就提供了, 地址在這:http://docs.codehaus.org/display/SONAR/Chinese+Pack ,我下的是1.7版本,獲得sonar-l10n-zh-plugin-1.7.jar, 而後將它放到sonar的sonarqube-4.0\extensions\plugins這個目錄下,重啓你的sonar服務, 此時再次訪問就應該是這樣的sql
好了, 到這裏以後咱們就須要去配置數據庫了, 由於sonar會將分析項目的結果保存在數據庫裏, 因此咱們在繼續使用以前須要去配置數據庫鏈接, 在sonarqube-4.0\conf目錄下有一個sonar.properties文件,裏面放置了各類sonar支持的數據庫鏈接和鏈接池的配置,這裏咱們使用MYSQL的方式, 註釋掉它默認的配置, 解開MYSQL跟更改數據庫賬號密碼, 它看起來應該就像是這樣的數據庫
保存, 而後打開去你的MYSQL中建立一個名爲sonar的數據庫,而後再重啓sonar服務, 成功啓動後就能夠檢查一下你的sonar數據庫裏有沒有表了, 它應該是這樣的。apache
若是一切正常,那麼如今就須要來配置maven了, sonar是經過Maven2 插件來分析源代碼並把結果注入到數據庫中.所以須要在Maven的配置裏設置數據庫的屬性。進入maven安裝目錄apache-maven-2.2.1\conf下, 修改settings.xml文件, 添加以下配置瀏覽器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<
profiles
>
<
profile
>
<
id
>sonar</
id
>
<
properties
>
<
sonar.jdbc.driver
>com.mysql.jdbc.Driver</
sonar.jdbc.driver
>
<
sonar.jdbc.username
>root</
sonar.jdbc.username
>
<
sonar.jdbc.password
>root</
sonar.jdbc.password
>
</
properties
>
</
profile
>
</
profiles
>
<
activeProfiles
>
<
activeProfile
>sonar</
activeProfile
>
</
activeProfiles
>
|
保存後找到你須要被sonar分析的maven項目根目錄,好比個人一個CMS的項目根目錄, 它看起來是這樣(這裏注意要被分析的項目必須帶有pom文件)服務器
而後運行命令行進入該目錄, 執行maven 命令 mvn clean install sonar:sonar 而後就是漫長的等待, 直到你看到這個界面maven
就表示大功告成, 能夠去訪問你的sonar服務, 刷新一下, 將會看到多了一個項目出來, 點擊分析後就能夠看到這個界面, 這是個人url
好了, sonar的安裝和配置MYSQL, 分析maven項目的過程就演示到這裏, 下次再繼續深刻演進。spa
(拖堂時間。。。)
下面列出了一些經常使用的插件:
JavaScript代碼檢查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
python代碼檢查:http://docs.codehaus.org/display/SONAR/Python+Plugin
Web頁面檢查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin
scm源碼庫統計分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin
文件度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin
時間表顯示度量結果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin
http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin
下課!