Sonar本地环境搭建

一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境。搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所以之前很多网上的教程都存在问题了。通过自己的摸索,最后还是成功搭建好了环境。下面我们开始搭建吧。

1 准备阶段

(1)下载MySQL,地址:http://dev.mysql.com/downloads/installer/ (2)下载SonarQube,地址:http://www.sonarqube.org/downloads/ (3) 下载SonarQube中文插件,地址:http://download.csdn.net/detail/u010218242/9272667

1.2 环境准备 (1)确保本机已经安装JDK (2)安装数据库 由于sonar需要数据库支持,我们首先安装数据库,这里使用mysql(当然你也可以安装其他数据库)。

第一步:安装mysql,安装流程就不说了,这里特别需要注意的是选择编码格式的时候一定要选择utf8.

第二步:使用命令创建数据库,名字为sonar:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

第三步:创建一个sonar用户并把这个用户的密码设置为soanr:

CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;

第四步:将第二步中创建的sonar数据库的所有权限赋给第三步中创建的sonar用户:

GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’; GRANT ALL ON sonar.* TO ‘sonar’@’localhost’ IDENTIFIED BY ‘sonar’; FLUSH PRIVILEGES;

至此数据库已经建好了。

  1. 安装SonarQube 第一步:将下载的sonarqube解压到你的本地目录

第二步:修改配置文件,打开conf目录下的日志文件,然后加入以下信息:

sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

第三步:bin目录下会有各种平台的启动脚本,我用的windows-x86-32的:

点击StartSonar.bat,开始启动。第一次启动需要初始化数据库,需要等一会儿:

第四步:在浏览器中打开http://localhost:9000/,正常安装的情况会显示如下界面:

至此,我们的SonarQube已经安装成功了,如果想要使用SonarQube平台管理我们的代码质量,还需要安装代码解析工具。通常我们使用maven来集成sonar的解析,请看下小节。

  1. Maven中集成sonar 第一步:在maven的setting.xml文件中加入以下内容:
<profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
              <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8&amp;rewriteBatchedStatements=true</sonar.jdbc.url>
              <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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

第二步:接下来在sonarqube启动的情况下,进入maven项目中,执行mvn sonar:sonar命令,等待结束。那么在http://localhost:9000下就可以查看sonar分析的结果了。

对于开发者来说,如果我们能够在Eclipse中直接集成sonar那是更加方便了,我们可以直接在Eclipse中查看sonar问题。接下来我们演示如何在Eclipse中集成sonar。

4. Eclipse集成sonar

第一步:安装sonar插件,打开Help > Install New Software… ,输入下面这个网址 (http://downloads.sonarsource.com/eclipse/eclipse/),接下来就会显示下面这个界面内容

然后点击next安装就OK了,完成安装之后会提示你重新启动。

第二步:Eclipse上运行sonar,Eclipse执行maven命令:sonar:sonar:

再去locahost:9000下面查看,已经ok:

如果我们想直接在Eclipse中查看sonar问题,我们点击工程右键,如下图:

然后再次右击工程,进行解析,如下图:

分析结果:

到这里,sonar本地环境搭建已经完全ok!

总结: 在本地搭建sonar环境的过程当中,经历了各种问题,版本问题、官方sonar插件不维护问题…通过各种尝试终于搞定,如果你安装的过程当中出现了什么问题可以联系我。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LanceToBigData

IntelliJ IDEA 17和Maven构建javaWeb项目

前言   电脑又断电了,眼看着写好的东西就没有了,这是第二次犯这个错误了。很难受呀!还是回到正题吧,我们来使用IDEA和Maven构建一个JavaWeb项目  ...

2008
来自专栏破晓之歌

在PythonAnyWhere上部署Django项目

在PAW(PythonAnyWhere)上创建免费beginner账户,网址为: https://www.pythonanywhere.com/pricing...

482
来自专栏Python中文社区

Nginx+uWSGI部署Django网站的详细步骤,脱坑必备,值得收藏!

对于Django部署来说,选择nginx和uWSGI是一个不错的选择,此教程旨在将Django部署到生产环境的服务器中。当然你也可以使用Apache或者其他的服...

3005
来自专栏linux系统运维

原 主动模式和被动模式,添加监控主机,添加

1412
来自专栏陈树义

如何在IntelJ下用Maven创建一个Web项目

相信一开始做Web项目的同学都是直接把项目包放在WEB-INF/lib目录下,然后就开始做项目了。但是之后接触了一些使用了Maven进行包管理的项目,我们就不得...

2536
来自专栏Web 开发

ubuntu学习手札——架设LAMP服务器

简单介绍一下,LAMP就是Linux + Apache + Mysql + Php,现在的服务器大部分都是基于这种方式架设的,我们这里的Linux就是ubunt...

621
来自专栏mathor

Linux——系统安装(上)

1166
来自专栏程序员叨叨叨

听说你PHP配置Composer遇到了一些困境

最近在写PHP通信接口,涉及到数据库CRUD操作时,觉得PHP原生方法每次都要写SQL语句,效率不高,于是尝试使用Propel orm框架,此文记录PHP配置P...

623
来自专栏烂笔头

Ubuntu上通过nginx部署Django笔记

目录[-] Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。今天在Ubuntu上使用Nginx部署Django...

3304
来自专栏木可大大

初识Python

注意:Python中没有分号,而是用换行符替换;没有{},而使用冒号替换;构造函数中的self是显示出现的等,除此之外,Python和Java存在 很多相似的地...

49911

扫描关注云+社区