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账号登录进入,可以查看到相关信息

SonarQube 7.x 的安装使用 + 集成Maven 使用的更多相关文章

  1. 为android项目集成maven

    为什么要为android项目增加maven集成功能呢?这里我想到几个主要理由: 部署测试人员和开发人员的角色分离,让他们摆脱eclipse开发环境设置android sdk环境,直接在服务器上运行一个 ...

  2. Maven进价:eclipse中集成maven

    一.M2Eclipse插件 m2eclipse是一个在Eclipse中集成Maven的插件,有了该插件,用户可以方便的在Eclipse中执行Maven命令.创建Maven项目.修改POM文件等. 下载 ...

  3. Java-Maven(四):Eclipse集成Maven环境配置

    一般maven都需要集成到IDE上使用的,而不是单独的使用,常见的maven可集成IDE:eclipse.IntelliJ IDEA.但这里就只学习eclipse集成maven的基础上,进行maven ...

  4. eclipse中集成maven

    一.环境 eclipse mar jdk 1.7 apache-maven-3.3.3 注意: 1> eclipse mar 已集成maven插件,我们只需要配置成自己的maven即可,类似ec ...

  5. SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)

    1. SonarQube安装(sonarqube5.1.2 + sonar-runner-dist-2.4) 1.1 前提条件 1) 已安装Java环境(version:1.7+) 2) 已安装MyS ...

  6. NetBeans IDE集成Maven

    NetBeans6.7更新版本已经内置对Maven支持.如遇以前的版本,Maven插件在插件管理器中可用.我们正在使用NetBeans在这个例子中使用6.9. 在NetBeans一些特点如下 您可以从 ...

  7. Eclispe IDE集成Maven

    Eclipse提供了一个很好的插件m2eclipse 无缝将Maven和Eclipse集成在一起. m2eclipse一些特点如下 您可以从Eclipse运行Maven目标. 可以使用其自己的控制台查 ...

  8. TFS (Team Foundation Server) 2013集成Maven构建

    Team Foundation Server原生就支持跨平台的构建,包括Ant和Maven两种构建方式.通过配置构建服务器,连接TFS源代码库,可以实现持续集成构建,自动检测代码库健康状况,进而实现自 ...

  9. SonarQube代码质量管理平台安装与配置

    1.安装说明 操作用户:root 软件下载目录:/root/opt 无root权限时,放到自定义目录即可 ================ 2.预置条件 1.需要JDK1.6+支持: 2.需要Mysq ...

随机推荐

  1. Xilinx Spartan6常用资源Verilog例化

    // DSP48A1 : In order to incorporate this function into the design, // Verilog : the following insta ...

  2. (转)RedHat/CentOS安装和配置kerberos

    RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1  kerberos 服 ...

  3. Git系列四之在本地服务器搭建gitlab仓库管理

    1.Git仓库管理 现在本地已经创建了git仓库,又在gitlab上创建了一个git仓库,并且让这两个仓库进行远程同步,这样gitlab仓库既可以备份也可以与他人协作管理远程仓库以及根据需要推送或拉取 ...

  4. Linux pci驱动源码

    #include <linux/kernel.h>#include <linux/errno.h>#include <linux/module.h>#include ...

  5. spring java 方式配置JedisPool Bean

    来自一个开源项目https://git.oschina.net/geek_qi/ace-cache package com.ace.cache.config; import com.ace.cache ...

  6. MySQL SELECT 语句

    SELECT语句: products表例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1eWluZ18xMDAx/font/5a6L5L2T ...

  7. 如何使用angularjs实现ajax异步请求

    Sample.html <!DOCTYPE html> <html ng-app="myApp"> <head> <title>fo ...

  8. 微信小程序navigateBack如何带参数

    wx.navigateBack({//返回 delta:1 })   方法如下: 一. var pages = getCurrentPages(); var prevPage = pages[page ...

  9. Android蓝牙开发

    Android蓝牙开发 近期做蓝牙小车,须要Android端来控制小车的运动.以此文记录开发过程. 使用HC-06无线蓝牙串口透传模块.对于其它的蓝牙设备本文相同适用. 蓝牙开发的流程: 获取本地蓝牙 ...

  10. Unity Inspector 给组件自动关联引用(二)

    通过声明的变量名称,主动关联引用. 使用这个关联引用两种方式1.  给你组件继承  MonoAutoQuote 点击组件inspector 按钮执行2.  给你组件类添加[AAutoQuote] 特性 ...