SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。
 
1.下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开D:\JavaDev\sonarqube-7.4\bin\windows-x86-64\StartSonar.bat
 
2.启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。
二、配置篇
1.打开mysql,新建一个数据库。
2.打开sonarqube安装目录下的D:\sonar\sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件
3.在mysql5.X节点下输入以下信息
sonar.jdbc.url=jdbc:mysql://192.168.10.10:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.jdbc.username=dev sonar.jdbc.password=123456 sonar.sorceEncoding=UTF-8 sonar.login=admin sonar.password=admin
 
其中:url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,login是sonarqube的登录名,sonar.password是sonarqube的密码
4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息,重启时候有可能一直卡在那里,重启服务不生效,这时候可以重启电脑,然后再次访问http://localhost:9000,会发现配置生效。
5.数据库初始化成功后,登录
6.按照下图的点击顺序,进入插件安装页面,搜索框搜索chinese,选择中文包,安装中文插件,安装之后,会自动提醒重启服务,点击重启,重启完之后,刷新,就看到中文版的页面
 

7.在Maven的settings.xml设置sonar信息
其中<sonar.host.url>http://localhost:9000</sonar.host.url>指明了sonar服务器的地址。所以在执行maven命令的时候,<sonar.host.url>指明的服务器必须已运行起来。
 
${MAVEN_HOME}/conf/settings.xml:
<profiles>
    <profile>
<id>sonar</id>
        <properties>
            <sonar.jdbc.url>jdbc:mysql://192.168.10.10:3306/sonar</sonar.jdbc.url>
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
            <sonar.jdbc.username>dev</sonar.jdbc.username>
            <sonar.jdbc.password>123456</sonar.jdbc.password>
            <sonar.host.url>http://localhost:9000</sonar.host.url> <!-- Sonar服务器访问地址 -->
        </properties>
    </profile>
</profiles>
<activeProfiles>
    <activeProfile>sonar</activeProfile>
</activeProfiles>
三、执行篇
1.执行mvn sonar:sonar命令进行代码分析。
我们可以在Eclipse中,对一个标准maven工程执行sonar。说明:由于maven对sonar有很好的支持,会自动执行相应的脚本,所以无需在pom中添加sonar说明。
在执行maven进行sonar分析之前,必须确保sonar服务器已经处于运行状态。本例中sonar服务器运行在localhost:9000上。
 
首先,执行sonar:sonar命令,最后得到输出如下输出。如果输出”BUILD SUCCESS“说明已经构建成功。
查看分析结果
对于使用sonar自带服务器来说,在浏览器访问:http://sonar_ip:9000,打开sonar结果页面。可使用admin/admin账号登录进入,可以查看到相关信息

最新文章

  1. python gutter area / 设置断点、行号右边代码左边的空白栏
  2. angular源码分析:angular中的依赖注入式如何实现的
  3. 如何查询Oracle中所有用户信息
  4. vi/vim
  5. 《Linux内核设计与实现》读书笔记(十八)- 内核调试
  6. java技术用ssh从linux服务器下载数据
  7. 使用Gradle构建android应用
  8. 我常用的VBS方法(QTP)
  9. 在Android中访问内置SE和基于SE的卡模拟(一)
  10. 打造属于自己的Altium Designer 3D封装库,不需要懂专门的三维设计软件
  11. iOS手写2048--基于Xcode7.1
  12. EditText无法失去焦点、失去焦点隐藏软键盘
  13. poj2387(最短路)
  14. 人工智能二:TensorFlow环境搭建
  15. Spring Boot (七)MyBatis代码自动生成和辅助插件
  16. django 模板 (ああああああああ!かぴ)
  17. db2 reorgchk
  18. Python3+Dlib实现简单人脸识别案例
  19. 特征选择: 卡方检验、F 检验和互信息
  20. ASP.NET 网站部署到IIS上如何进行调试

热门文章

  1. AQTime教程
  2. Firefox的缓存问题
  3. jQuery最佳实践:如何用好jQuery
  4. java实现 tf-idf
  5. 前端性能优化:DocumentFragments或innerHTML取代复杂的元素注入
  6. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何声明定时器,使用定时器TON模块 TC3
  7. Spring之替换Bean的返回结果,替换Bean的方法实例
  8. Hibernate关系映射(注解)
  9. 运行maven pom.xml文件后编译环境变为jdk1.5
  10. NET:Checkboxlist,Dropdownlist 加入ToolTip说明