1. 前期准备

① 环境

jdk 1.8 配置(见其他随笔)

MySQL 5.7(见其他随笔)

② 工具下载

sonarqube 下载 <链接:https://pan.baidu.com/s/1pDMgIDnXccDi305WHDWfJQ 密码:8w0n>

SonarQube+Scanner下载 <链接:https://pan.baidu.com/s/1xWJtYOIFQSA4WMzHrr5j-Q 密码:68mm>

2. 安装

① sonarqube解压到指定文件夹 <D:\sonarqube-7.3>

② 启动StartSonar(对应win 64bit)

打开D:\sonar\sonarqube-5.3\sonarqube-5.3\bin\windows-x86-64\StartSonar.bat

③ 启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。

3. 配置

① MySQL中,新建数据库prsonar

 CREATE DATABASE prsonar;

② 创建 test 用户并进行授权

 CREATE USER 'test'@'localhost' IDENTIFIED BY ''; // 创建用户并设置密码
// username 为创建的用户名
host为对应的主机地址,本地就是localhost
password为设置的密码 GRANT ALL ON *.* TO 'test'@'localhost'; //对用户进行授权操作

③ 修改SonarQube配置文件,添加Mysql相关配置

 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=test // 刚刚创建的sonarQube用户
sonar.jdbc.password=123456 // 创建用户对应的密码
sonar.sorceEncoding=UTF-8 // 设置编码格式为UTF-8

4. 重新启动sonar服务

① 双击StartSonar.bat文件,重新启动【配置mysql 启动时间会比较久】

② 浏览器打开 http://localhost:9000

③ 登陆

初始用户名:admin

初始密码:admin

如下图,登陆成功

5. 使用

① 中文插件安装

github地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh

选择对应版本下载后,放置到<D:\sonarqube-7.3\extensions\plugins> 路径下,重启sonar 即可。

中文显示sonar,但还是不推荐,有些翻译的并不标准

② maven的集成

修改 maven   <D:\apache-maven-3.5.4\conf\settings.xml>

 <settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://loaclhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
20 <!--其中sonar.host.url 值就是 上文启动的sonar 服务器地址。-->

③ build 项目代码 - 代码扫描

maven项目中pom.xml目录下,执行

 mvn clean install sonar:sonar

扫描会有一段时间 【maven 仓库的地址:C:\Users\用户名\.m2\repository】

④ 查看扫描结果显示

显示BUILD SUCCESS 执行成功。

6. 结果分析

① <http://localhost:9000/projects> 查看project显示

② 查看问题显示,根据问题描述,进行代码优化

PS:扫描规则的配置:

Rules(代码规则)中,language(语言)下选择java或其他语言,规则可以选择性的关闭或者激活。

---------------------------------------------------------------------------------*************分界线*************----------------------------------------------------------------------

问题汇总:

1. 问题描述:

双击StartSonar.bat后,控制台打开后,自动关闭,无法启动成功,sonar.log 报错“Error: missing `server' JVM at `D:\jre1.8.0_144\bin\server\jvm.dll'.”

解决办法:

修改PATH变量,直接将<%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;>放到PATH变量的最前面,重新打开后,问题解决。

2. 问题描述:

双击<StartSonar.bat> 提示“另一程序正在使用此文件”

解决办法:

由于之前启动的sonar进程未关闭,有冲突;打开资源管理器(ctrl+shift+esc),杀掉java进程重新启动,问题解决。

3. 问题描述:双击<StartSonar.bat> ,dos窗口启动之后闪退

sonar.log “exception caught on transport layer [[id: 0x6b97e495, L:/127.0.0.1:49426 - R:/127.0.0.1:9001]], closing connectionjava.io.IOException: 远程主机强迫关闭了一个现有的连接。”

web.log 如下:

解决办法:

由于配置文件中,数据库名称忘记修改了,实际应该为prsonar

 4. 问题描述:

执行sonar,控制台报错:

“[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test) on project yyt-uiautotest: There are test failures.

解决办法:

初步断定是与pom.xml中配置信息有关,换其他工程,问题解决。

SonarQube 平台搭建的更多相关文章

  1. SonarQube 平台搭建代码审查平台步骤

    SonarQube 平台1.下载包,安装启动2.在sonar.properties 配置mysql数据库的sonar.jdbc.username=sonarsonar.jdbc.password=so ...

  2. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  3. hadoop伪分布式平台搭建(centos 6.3)

    最近要写一个数据量较大的程序,所以想搭建一个hbase平台试试.搭建hbase伪分布式平台,需要先搭建hadoop平台.本文主要介绍伪分布式平台搭建过程. 目录: 一.前言 二.环境搭建 三.命令测试 ...

  4. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  5. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  6. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  7. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  8. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  9. Storm on Yarn :原理分析+平台搭建

    Storm on YARN: Storm on YARN被视为大规模Web应用与传统企业应用之间的桥梁.它将Storm事件处理平台与YARN(Yet Another Resource Negotiat ...

随机推荐

  1. 奇怪也哉!做一个WebApp居然遇到了FF浏览器进不去某页的问题。

    一个小WebApp,原定login完后就进某页面.前天晚上之前一直在FF浏览器上调试,都正常. 前天晚上稍修改了,提交war上传,之后就休息了. 昨天晚上有些事情处理打开一看,乖乖,点登录后就在登陆页 ...

  2. Activemq消息确认机制 --转载

      转自:http://blog.csdn.net/czp11210/article/details/47022639 ActiveMQ消息传送机制以及ACK机制详解 AcitveMQ是作为一种消息存 ...

  3. 倍福TwinCAT(贝福Beckhoff)应用教程13.2 TwinCAT控制松下伺服 CS说明

    虚拟仿真上,要注意仿真只是为了可视化,可以看到数据的变动是否和实际一致,所以Robot2D才是主要因素,虚拟仿真采集机器人的关节位置或者TCP位置来显示而已,为了测试一些别的算法,我们还可以在虚拟仿真 ...

  4. C# 0-1背包问题

    0-1背包问题 0-1背包问题基本思想: p[i,j]表示在前面i个物品总价值为j时的价值最大值.str[i, j]表示在前面i个物品总价值为j时的价值最大值时的物品重量串. i=0 或者j=0时: ...

  5. iOS适配整理

    iOS12适配问题 1.StatusBar内部结构改变 现象:crash crash log: -[_UIStatusBarIdentifier isEqualToString:]: unrecogn ...

  6. .NET--百度百科

    .NET是 Microsoft XML Web services 平台.XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统.设备或编 ...

  7. 《从零開始学Swift》学习笔记(Day 57)——Swift编码规范之凝视规范:文件凝视、文档凝视、代码凝视、使用地标凝视

    原创文章.欢迎转载.转载请注明:关东升的博客 前面说到Swift凝视的语法有两种:单行凝视(//)和多行凝视(/*...*/).这里来介绍一下他们的使用规范. 1.文件凝视 文件凝视就在每个文件开头加 ...

  8. 网站定时任务IIS配置

    网站中的定时任务一般是必不可少的,具体的实现方法此文不做详细说明,如有需要了解的请留言.本文主要讲述定时任务有关IIS中的设置. 如果一个网站在20分钟内(IIS默认为20分钟)没有客户端访问,服务器 ...

  9. Linux下默认的目录介绍

    目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - /bin 该目录存放着系统最常用的最重要的命令,相当于DOS ...

  10. tony_CENTOS启动方式设置

    方法: 在etc文件夹下面有个初始加载文件是用来启动系统的,系统在启动的时候先去env中找到shell的必要配置,然后把shell启动起来,那么再然后就要启动整个系统了,到底是启动图形界面呢,还是字符 ...