• Java代码质量监控工具Sonar安装


    1.  代码质量七宗罪

    Sonar是一个代码质量管理系统。它的帮助文档开篇明义,提出了代码质量的七宗罪。总结的比較到位。最好还是一看:

    1.        Bug和隐藏Bug(Bugs and Potential Bugs

    2.        违反编码规范(Coding Standards Breach

    3.        复制粘贴(Duplications

    4.        缺乏单元測试(Lack of Unit Tests

    5.        恶劣的复杂度分布(Bad Distribution of Complexity

    6.        意大利面式设计(Spaghetti Design

    7.        凝视不足或过多(Not Enough or Too Many Comments

    2.  安装Sonarserver

    首先看一下sonar对安装环境的需求,见文档:

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

    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,查看分析结果。

  • 相关阅读:
    叉姐的魔法训练(第十课)---- 幽默大师卫冕战
    叉姐的魔法训练(第⑨课)---- 幽默大师职业赛
    叉姐的魔法训练(第八课)---- 幽默术
    叉姐的魔法训练(第七课)---- 在沙漠中的长途旅行
    叉姐的魔法训练(第六课)---- 暴雨术入门
    叉姐的魔法训练(第五课)---- 如何成为一名合格的小学生
    叉姐的魔法训练(第四课)---- 风系魔法的基本要领
    叉姐的魔法训练(第三课)---- 火球术入门
    叉姐的魔法训练(第二课)---- 冰系魔法入门
    叉姐的魔法训练(第一课)---- 初级魔法练习
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7400526.html
Copyright © 2020-2023  润新知