使用sonar分析maven项目

记录了sonar的安装与配置,以及maven项目的sonar分析。

环境
Red Hat 4.1.2 x86-64
sonar-3.7.4, 下载地址

配置
  • 配置文件目录
  • sonar/conf/sonar.properties

  • 数据库
  • Sonar支持多种数据库,正常情况下建议使用真实数据库,例如mysql、oralcel等。
    为了快速体验sonar功能,这里选择使用内存数据库,不需要修改配置文件。
    默认就是使用H2内存数据库,端口 9092
    sonar.jdbc.url:    jdbc:h2:tcp://localhost:9092/sonar
    

  • web服务
  • Sonar支持独立启动,也支持使用其它web容器启动。
    默认端口为9000,启动后可以通过 http://hostip:9000/ 访问
    #sonar.web.host:                           0.0.0.0
    #sonar.web.port:                           9000
    #sonar.web.context:                        /
    


    启动

    独立启动的方式如下
    $sonar/bin/{os_arch}/sonar.sh start
    # 其中os_arch主要就是操作系统+位数,在本例中就是linux-x86-64,即启动命令为:
    $sonar/bin/linux-x86-64/sonar.sh start
    


    ps:查看系统位数的方法
    $unama -m
    x86_64
    $arch
    x86_64
    


    maven配置

    在需要运行代码分析的机器上,修改{$M2_HOME}/conf/settings.xml,profiles 结点添加以下内容

    其中的hostip需要替换成以上sonar部署服务器的ip
            <profile>
                <id>sonar</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <sonar.jdbc.url>jdbc:h2:tcp://hostip:9092/sonar</sonar.jdbc.url>
                    <sonar.jdbc.driverClassName>org.h2.Driver</sonar.jdbc.driverClassName>
                    <sonar.jdbc.username>sonar</sonar.jdbc.username>
                    <sonar.jdbc.password>sonar</sonar.jdbc.password>
                    <sonar.host.url>http://hostip:9000</sonar.host.url>
                </properties>
            </profile>
    


    代码分析

    由于maven的sonar插件在分析代码的时候占用内存较多,因此需要设置一下MAVEN_OPTS
    $export MAVEN_OPTS="-Xms512m -Xmx2048m"
    


    执行sonar分析
    $mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true
    


    查看报表
    访问 http://hostip:9000/ 即可访问本次分析的报表。
    (其中hostip为sonar部署服务器ip)

    默认用户
    admin/admin

    汉化
    sonar通过插件的方式支持各种语言切换, 汉化插件页面可以下载。

    插件有2种安装方式,
    1. 使用updatecenter自动更新,登录后进入settings - updatecenter菜单选择插件后安装
    2. 自行下载插件,放到sonar/extensions/plugins/目录,重启sonar后生效

    update center里最新的中文包已经不再适配3.7.4版本,下载 1.6版本中文包后,放到sonar/extensions/plugins 目录下,重启sonar后刷新页面,即是中文版。

    你可能感兴趣的:(maven)