Sonar初体验

Sonar 是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量。

依赖:
maven-2.0.7+
JDK5+

 

注意:在使用低于2.0.4版本的Maven时报下面的错误:

java.lang.NoSuchMethodError: org.apache.maven.profiles.DefaultProfileManager.<init>(Lorg/codehaus/plexus/Plexu sContainer;Lorg/apache/maven/settings/Settings;Ljava/util/Properties;)V

 

安装:

1、到官方网站下载Sonar的压缩包,解压到任意目录,运行bin\windows-x86-32\StartSonar.bat(这里以Windows平台为例)。但是你首先要执行下面的配置过程。

2、首次运行会创建数据库,Sonar默认使用嵌入式的Derby数据库,如果我们要迁移到Mysql上,我们要这样做:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on sonar.* to 'sonar'@'localhost' identified by 'sonar';
flush privileges;

这里创建了sonar/sonar,并授权访问sonar库。

3、修改\conf\sonar.properties文件:

sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
sonar.jdbc.validationQuery: select 1

4、与maven整合,修改settings.xml,添加下面代码:

<profile>
       <id>sonar</id>
       <activation>
           <activeByDefault>true</activeByDefault>
       </activation>
       <properties>
            <sonar.jdbc.url>
               jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf-8
            </sonar.jdbc.url>
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
            <sonar.jdbc.username>sonar</sonar.jdbc.username>
            <sonar.jdbc.password>sonar</sonar.jdbc.password>
           <sonar.host.url>http://localhost:9000</sonar.host.url>
       </properties>
</profile>

5、 通过步骤4 sonar已经与你的maven整合,然后你需要这样maven你的项目(前提是重新启动了sonar,并创建了数据库):

mvn org.codehaus.sonar:sonar-maven-plugin:1.5.1:sonar -Dsonar.skipInstall=true

6、访问:http://localhost:9000。(这里的端口也可以在sonar.properties中设置)

下图是一个应用场景:

 

Sonar案例

      从上面的应用案例中我们看到,Sonar提供了对代码行、注释行、代码覆盖率、复杂度、代码规则、违例、项目视图等内容的统计和图形化报表显示功能。同时Sonar还提供了测算和违例的钻取、项目不同版本间指标差异的图形化比较、代码覆盖率云的形象化描述等。同时Sonar也提供了灵活的配置功能,包括对系统的配置和对规则的配置。

     Sonar还提供了从maven提取SCM、JIRA信息和与CC集成的功能

 

Sonar架构图:

 

Sonar架构图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值