代码分析工具--sonar

来源:互联网 发布:穿越火线网络异常23 2 编辑:程序博客网 时间:2024/04/28 03:17

一 什么是sonar

 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。

二 安装

 下载和解压,

sonar官网 http://www.sonarqube.org/downloads/ 上下载并解压sona,我的是sonarqube-4.3.2。注意:不要放在中文目录下。


三 运行sonar

   在sonar的 根目录里的bin目录下,在bin下找到对应的操作系统版本的启动文件,执行 sonar.sh start  。访问:http://localhost:9000

四  Mysql 创建数据库和sonar用户(用于存取项目分析后的数据)

  •    创建一个sonar的数据库:CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

  •    创建一个sonar用户:grant all privileges on sonar.* to 'sonar'@'%' identified by 'sonar';

  •    flush privileges;

五 配置sonarqube-4.3.2\conf\sonar.properties文件

1)配置启动的http端口

sonar.web.host=0.0.0.0

sonar.web.port=9000

sonar.web.context=

三句前本来被注释,取消注释


2)取消mysql连接的注释

#----- MySQL 5.x/6.x

# Comment the embedded database and uncomment the following properties to use MySQL. The validation query is optional.

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

sonar.jdbc.driverClassName: com.mysql.jdbc.Driver

sonar.jdbc.validationQuery: select 1


3) 配置连接数据库的用户名和密码
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

六 配置maven


首先确认俩工具的版本是否匹配




 在maven的settings.xml中加入:

<profiles>                                                   <profile>         <id>sonar</id>         <properties>             <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>     <!-- Sonar数据库访问地址 -->             <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> <!-- Sonar服务器访问地址 -->         </properties>     </profile>                                                  </profiles>                                                  <activeProfiles>     <activeProfile>sonar</activeProfile>   </activeProfiles>



七 利用sonar分析代码


在pom.xml所在目录下 执行:
mvn clean install -DskipTests=true
mvn sonar:sonar 
设置 skipTests=true 是为了避免单元测试执行两次。install 和 sonar 指令默认都会执行单元测试。你可以禁用单元测试,相关的配置参考 Maven 的相关文档。
然后就是漫长的等待, 直到你看到界面打印执行成功语句。

八 查看分析结果

  访问 http://localhost:9000 ,sonar的管理员登陆帐号默认为admin,密码admin

九 汉化sonar 把页面替换成中文)


下载汉化包:http://www.java2s.com/Code/JarDownload/sonar-l10n/sonar-l10n-zh-plugin-1.6.jar.zip
解压,得到jar包
拷贝汉化包到根目录下 extensions/plugins
重启sonar:
    ./sonar.sh restart

0 0
原创粉丝点击