Java代碼質量監控工具Sonar安裝

1.  代碼質量七宗罪

Sonar是一個代碼質量管理系統。它的幫助文檔開篇明義,提出了代碼質量的七宗罪。總結的比較到位。最好仍是一看:java

1.        Bug和隱藏Bug(Bugs and Potential Bugsmysql

2.        違反編碼規範(Coding Standards Breachgit

3.        複製粘貼(Duplicationsgithub

4.        缺少單元測試(Lack of Unit Testssql

5.        惡劣的複雜度分佈(Bad Distribution of Complexity數據庫

6.        意大利麪式設計(Spaghetti Design瀏覽器

7.        凝視不足或過多(Not Enough or Too Many Commentsmaven

2.  安裝Sonarserver

首先看一下sonar對安裝環境的需求,見文檔:工具

http://docs.codehaus.org/display/SONAR/Requirementssqlserver

2.1. 安裝JRE

再也不詳述。

2.2. 安裝數據庫

Sonar支持MySQL、Oracle、PostgreSQL、SQL Server等多種數據庫,本文選取MySQL。

參考文檔:http://docs.codehaus.org/display/SONAR/Installing

2.3. 配置數據庫

Sonar啓動前需要數據庫中有特定的username和數據庫。下面爲MySQL的配置腳本。

# https://github.com/SonarSource/sonar-examples/tree/master/scripts/database/mysql

#Create SonarQubedatabase and user.

#

# Command: mysql-u root-p < create_database.sql

#

CREATE DATABASE sonarCHARACTER SET utf8COLLATE utf8_general_ci;

CREATE USER'sonar' IDENTIFIED BY'sonar';

GRANT ALL ON sonar.* TO'sonar'@'%' IDENTIFIED BY'sonar';

GRANT ALL ON sonar.* TO'sonar'@'localhost' IDENTIFIED BY'sonar';

FLUSH PRIVILEGES;


2.4. 下載並配置sonar

本文下載的是SonarQube 3.7.4 LTS。不需要下載其它工具。

改動sonar-3.7.4/conf/sonar.properties文件裏的sonar.jdbc.url、sonar.jdbc.username和sonar.jdbc.password屬性,詳細要參照前面mysqlserver的配置。

本文中設置的值是:

sonar.jdbc.username:                       sonar

sonar.jdbc.password:                       sonar

sonar.jdbc.url:   jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8

sonar.properties配置文件還可以設置其它項。比方HTTP監聽port,臨時保持默認。

2.5. 啓動sonarserver

運行sonar-3.7.4/bin/文件夾下指定操做系統的腳本。啓動sonar。

Sonar啓動後:

(1)會鏈接mysqlserver,並在sonar數據庫中創建相關的表格。

(2)啓動一個httpserver,監聽port爲9000,固然這個port號是可以配置的。

固然,Sonar也可以做爲服務安裝到操做系統中,本文再也不描寫敘述。

2.6. 登陸server

經過瀏覽器登陸sonarserver,可以對sonar進行配置、安裝插件等。

URL地址默認是http://{sonar_server_ip}:9000。

默認的username和password是admin/admin。

本文保持sonar的默認配置。

3.  利用maven向sonarserver提交分析任務

可以有多種方法向sonar提交分析任務,本文利用maven。注意sonar 3.7.4僅僅支持maven3.1版本號。

3.1. 改動maven的settings.xml文件。

參考文檔:http://docs.codehaus.org/display/SONAR/Installing+and+Configuring+Maven

<profile>

      <properties>

        <sonar.jdbc.url>jdbc:mysql://192.168.150.11:3306/sonar?

useUnicode=true&amp;characterEncoding=utf8</sonar.jdbc.url>

        <sonar.jdbc.username>sonar</sonar.jdbc.username>

        <sonar.jdbc.password>sonar</sonar.jdbc.password>

        <sonar.host.url>http://192.168.150.11:9000</sonar.host.url>

      </properties>

    </profile>

  </profiles>

3.2. 改動pom.xml文件,以添加mysql驅動

<build>

    <extensions>

            <extension>

                    <groupId>mysql</groupId>

                    <artifactId>mysql-connector-java</artifactId>

                    <version>5.1.24</version>

            </extension>

        </extensions>

    </build>

3.3. 提交分析任務

參考文檔:http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven

運行下面maven命令:

mvn clean install

mvn sonar:sonar

注意sonar:sonar必須單獨運行。

假設把sonar:sonar和其它target混在一塊兒,比方mvn clean install sonar:sonar,可能致使不可預期的問題。

3.4. 查看分析結果

經過瀏覽器登陸sonarserver,查看分析結果。

相關文章
相關標籤/搜索