sonarqube使用mysql_SonarQube的安装、配置与使用

SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装、配置以及使用。

准备工作;

1、jdk(不再介绍)

2、sonarqube:http://www.sonarqube.org/downloads/

3、SonarQube+Scanner:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.zip

4、mysql数据库(不再介绍)

一、安装篇

1.下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开D:\sonar\sonarqube-5.3\sonarqube-5.3\bin\windows-x86-64\StartSonar.bat

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

cb5c343668d355dc7b5437339cbc0831.png

二、配置篇

1.打开mysql,新建一个数据库。

2.打开sonarqube安装目录下的D:\sonar\sonarqube-5.3\sonarqube-5.3\conf\sonar.properties文件

3.在mysql5.X节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=gmsd

sonar.jdbc.password=gmsdtrade

sonar.sorceEncoding=UTF-8sonar.login=admin

sonar.password=admin

url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,login是sonarqube的登录名,sonar.password是sonarqube的密码

4.重启sonarqube服务,再次访问http://localhost:9000,会稍微有点慢,因为要初始化数据库信息

5.数据库初始化成功后,登录

6.按照下图的点击顺序,进入插件安装页面

7116dbdd86fabaca9ed816fb1a4e6067.png

7.搜索chinese Pack,安装中文语言包

a1e74628b2ec858833479ddf1da5b96f.png

8.安装成功后,重启sonarqube服务,再次访问http://localhost:9000/,即可看到中文界面

93ddc9a27f84e627f93cda324043505e.png

三、使用篇

1.打开D:\sonar\sonar-scanner-2.5\conf\sonar-runner.properties文件

2.mysql节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=gmsd

sonar.jdbc.password=gmsdtrade

注意:如果测试项目与服务器不在同一台机子,则需要添加服务器的IP:

#-----Default SonarQube server

sonar.host.url=http://XXX.XXX.XXX.XXX:9000

3.配置环境变量

a.新建变量,name=SONAR_RUNNER_HOME。value=D:\sonar\sonar-scanner-2.5

b.打开path,输入%SONAR_RUNNER_HOME%\bin;

c.sonar-runner -version,出现以下信息,则表示环境变量设置成功

242d6718e04394310980da17fea1e919.png

4.打开要进行代码分析的项目根目录,新建sonar-project.properties文件

5.输入以下信息

# must be unique ina given SonarQube instance

sonar.projectKey=my:project

#this is the name displayed inthe SonarQube UI

sonar.projectName=apiautocore

sonar.projectVersion=1.0# Pathis relative to the sonar-project.properties file. Replace "\" by"/"on Windows.

# Since SonarQube 4.2, this property is optional if sonar.modules is set.

# If notset, SonarQube starts looking for source code fromthe directory containing

# the sonar-project.properties file.

sonar.sources=src

# Encoding of the source code. Defaultis defaultsystem encoding

#sonar.sourceEncoding=UTF-8

其中:projectName是项目名字,sources是源文件所在的目录

6.设置成功后,启动sonarqube服务,并启动cmd

7.在cmd进入项目所在的根目录,输入命令:sonar-runner,分析成功后会出现下图

69310af027e250c71f9eb168338363f6.png

8.打开http://localhost:9000/,我们会看到主页出现了分析项目的概要图

b29c882062dff19b8af0b81263c69eb2.png

9.我们点击项目,选择问题链接,会看到分析代码的bug,哇,好多

f0fa84a5ac3438f5683bef55d0247273.png

10.选择一个最严重的bug,看看

24c9991e812fe9c224ccb1f8b92dd794.png

原来是这个地方会出现空指针异常,原因是我没有进行初始化就使用这个变量了。Over

预知更多使用,请登录官网自行学习。

http://www.sonarqube.org/

http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows phone7 学习笔记14——地理位置服务与反应性扩展框架

使用Location Service能帮助开发者为windows Phone 开发具备位置感知(Location-Aware)功能的应用程序。比如很多导航的软件,查找附近吃饭、娱乐甚至厕所的应用程序,都是基于这个服务的。 我们有3种方法来获取设备的位置。GPS,移动…

LeetCode 1228. 等差数列中缺失的数字

文章目录1. 题目2. 解题1. 题目 有一个数组&#xff0c;其中的值符合等差数列的数值规律&#xff0c;也就是说&#xff1a; 在 0 < i < arr.length - 1 的前提下&#xff0c;arr[i1] - arr[i] 的值都相等。 我们会从该数组中删除一个 既不是第一个 也 不是最后一个的值…

离散系数的计算公式_如何求不同变量之间的离散程度

变异系数前面介绍的极差、方差和标准差都是反映一组数值变异程度的绝对值&#xff0c;其数值的大小&#xff0c;不仅取决于数值的变异程度&#xff0c;而且还与变量值水平的高低、计量单位的不同有关。所以&#xff0c;不宜直接利用上述变异指标对不同水平、不同计量单位的现象…

sql server 海量数据速度提升:SQL优化-索引(9) 【转】

8、union并不绝对比or的执行效率高 我们前面已经谈到了在where子句中使用or会引起全表扫描&#xff0c;一般的&#xff0c;我所见过的资料都是推荐这里用union来代替or。事实证明&#xff0c;这种说法对于大部分都是适用的。 select gid,fariqi,neibuyonghu,reader,title from …

LeetCode 252. 会议室(排序)

文章目录1. 题目2. 解题1. 题目 给定一个会议时间安排的数组&#xff0c;每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei)&#xff0c;请你判断一个人是否能够参加这里面的全部会议。 示例 1: 输入: [[0,30],[5,10],[15,20]] 输出: false示例 2: 输…

jedis连接mysql_使用Jedis操作Redis数据库

Redis不仅是使用命令来操作&#xff0c;现在基本上主流的语言都有客户端支持&#xff0c;比如java、C、C#、C、php、Node.js、Go等。 在官方网站里列一些Java的客户端&#xff0c;有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多…

LeetCode 1243. 数组变换

文章目录1. 题目2. 解题1. 题目 首先&#xff0c;给你一个初始数组 arr。然后&#xff0c;每天你都要根据前一天的数组生成一个新的数组。 第 i 天所生成的数组&#xff0c;是由你对第 i-1 天的数组进行如下操作所得的&#xff1a; 假如一个元素小于它的左右邻居&#xff0c…

mysql5.7.17二进制包_mysql5.7二进制包安装方法

1.部署tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.17-linux-glibc2.5-x86_64 /application/mysql-5.7.17ln -s /application/mysql-5.7.17 /application/mysql2.授权chown -R mysql.mysql /application/mysql-5.7.173.初始化/application/mysql-5.7.17/bin…

火狐字体加粗

-moz-box-shadow: 0 0 4px rgba(80,160,0,.05);转载于:https://www.cnblogs.com/sususu/archive/2012/02/28/2371532.html

LeetCode 1065. 字符串的索引对

文章目录1. 题目2. 解题1. 题目 给出 字符串 text 和 字符串列表 words, 返回所有的索引对 [i, j] 使得在索引对范围内的子字符串 text[i]…text[j]&#xff08;包括 i 和 j&#xff09;属于字符串列表 words。 示例 1: 输入: text "thestoryofleetcodeandme", wo…

mysql中用完即删用什么_MySQL使用和操作总结(《MySQL必知必会》读书笔记)

简介MySQL是一种DBMS&#xff0c;即它是一种数据库软件。DBMS可分为两类&#xff1a;一类是基于共享文件系统的DBMS&#xff0c;另一类是基于客户机——服务器的DBMS。前者用于桌面用途&#xff0c;通常不用于高端或更关键应用。MySQL是基于客户机——服务器的数据库。客户机—…

LeetCode 157. 用 Read4 读取 N 个字符

文章目录1. 题目2. 解题1. 题目 给你一个文件&#xff0c;并且该文件只能通过给定的 read4 方法来读取&#xff0c;请实现一个方法使其能够读取 n 个字符。 read4 方法&#xff1a; API read4 可以从文件中读取 4 个连续的字符&#xff0c;并且将它们写入缓存数组 buf 中。 …

mysql设置catalog_Catalog与Schema

按照SQL标准的解释&#xff0c;在SQL环境下Catalog和Schema都属于抽象概念&#xff0c;可以把它们理解为一个容器或者数据库对象命名空间中的一个层次&#xff0c;主要用来解决命名冲突问题。从概念上说&#xff0c;一个数据库系统包含多个Catalog&#xff0c;每个Catalog又包含…

北京印象

由于出差的缘故&#xff0c;在北京短暂的停留了四天。出了北京南站打车到了东单&#xff0c;待了几天才发现能小憩在东单真是挺爽的事情。 出了火车就有点咳嗽&#xff0c;不知道是不是空气太干的原因。与正值雨季的杭州不同&#xff0c;北京一直天气晴朗&#xff0c;不然去办…

LeetCode 716. 最大栈(双栈 / list+map)

文章目录1. 题目2. 解题2.1 双栈解法2.2 listmap1. 题目 设计一个最大栈&#xff0c;支持 push、pop、top、peekMax 和 popMax 操作。 push(x) -- 将元素 x 压入栈中。 pop() -- 移除栈顶元素并返回这个值。 top() -- 返回栈顶元素。 peekMax() -- 返回栈中最大元素。 popMax…

linux python命令无反应_Python学习第164课--Linux命令行特殊符号的意义及命令的语法规则...

【每天几分钟&#xff0c;从零入门python编程的世界&#xff01;】这节我们介绍Linux系统命令行中的一些特定的符号具有什么含义&#xff0c;以及命令行的语法规则。●Linux命令行中特定的符号的含义比如我登录到系统中之后&#xff0c;会显示[xiaozhilocalhost~]$这一行符号&a…

Lucene3.5自学4--建索引相关知识总结

Lucene简单介绍&#xff08;该部分摘自网络&#xff09; Lucene是一个高效的&#xff0c;基于Java的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢&#xff1f;这要从我们生活中的数据说起。 我们生活中的数据总体分为两种&#xf…

LeetCode 734. 句子相似性(哈希)

文章目录1. 题目2. 解题1. 题目 给定两个句子 words1, words2 &#xff08;每个用字符串数组表示&#xff09;&#xff0c;和一个相似单词对的列表 pairs &#xff0c;判断是否两个句子是相似的。 例如&#xff0c;当相似单词对是 pairs [["great", "fine&qu…

jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...

如题&#xff1a; jsp 中提交表单后在firefox、chrome 中中文显示为正常&#xff0c;但在IE中中文显示为乱码&#xff1f; 备注:框架&#xff1a;spring 和hibernate 提交表单后&#xff0c;在IE中提交的数据传到Controller中进行处理&#xff0c;进行输出获得过来的参数&#…

python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!

GIF图现在已经融入了我们的日常网络生活&#xff0c;微信群、QQ群、朋友圈......一言不合就斗图&#xff0c;你怕了吗&#xff1f;不用担心&#xff0c;只要学会了Python之GIF倒放技能&#xff0c;你就是“斗图王”。咱们直接开始本文的内容&#xff01;使用的工具1PIL(Python …