再好的程序员也会出bug,所以代码检查很有必要。今天就出一个简单的检查工具代替人工检查。

参考:

http://www.cnblogs.com/qiaoyeye/p/5249786.html

环境及版本

jdk: 1.7

sonarqube:http://www.sonarqube.org/downloads/ 我这里使用 sonarqube-5.3.zip

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

mysql

百度云:

http://pan.baidu.com/s/1gfCAvAz

1.解压sonarqube-5.3.zip之后打开

E:\installFile\qube\newQube\sonarqube-5.3\bin\windows-x86-64\StartSonar.bat

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

3.配置 sonarqube 数据库

E:\installFile\qube\newQube\sonarqube-5.3\conf\sonar.properties

sonar.jdbc.url=jdbc:mysql://localhost:3306/world?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=centos
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

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

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

6.解压 sonar-scanner-2.5.zip

E:\installFile\qube\newQube\sonar-scanner-2.5.1

7.配置数据库信息

E:\installFile\qube\newQube\sonar-scanner-2.5.1\conf\sonar-runner.properties

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

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

#----- Default SonarQube server
sonar.host.url=http://XXX.XXX.XXX.XXX:9000

8.配置环境变量

a.新建变量,name=SONAR_RUNNER_HOME。value=E:\installFile\qube\newQube\sonar-scanner-2.5.1

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

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

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

10.输入以下信息 注意以记事本打开,unicode编码编辑。

# Root project information
sonar.projectKey=efc.eac
sonar.projectName=efc.eac
sonar.projectVersion=1.0 # Some properties that will be inherited by the modules
sonar.sources=src # List of the module identifiers
sonar.modules=efc.eac.api.dao,efc.eac.api.impl,efc.eac.api.service,efc.eac.commons,efc.eac.core.dao,efc.eac.core.impl,efc.eac.core.service,efc.eac.core.web,efc.eac.dict.dao,efc.eac.dict.impl,efc.eac.dict.service,efc.eac.dict.web,efc.eac.gerp.dao,efc.eac.gerp.impl,efc.eac.gerp.service,efc.eac.gerp.web,efc.eac.log.dao,efc.eac.log.impl,efc.eac.log.service,efc.eac.log.web,efc.eac.war # Properties can obviously be overriden for
# each module - just prefix them with the module ID
efc.eac.api.dao.sonar.projectName=efc.eac.api.dao
efc.eac.api.impl.sonar.projectName=efc.eac.api.impl
efc.eac.api.service.sonar.projectName=efc.eac.api.service
efc.eac.commons.sonar.projectName=efc.eac.commons
efc.eac.core.dao.sonar.projectName=efc.eac.core.dao
efc.eac.core.impl.sonar.projectName=efc.eac.core.impl
efc.eac.core.service.sonar.projectName=efc.eac.core.service
efc.eac.core.web.sonar.projectName=efc.eac.core.web
efc.eac.dict.dao.sonar.projectName=efc.eac.dict.dao
efc.eac.dict.impl.sonar.projectName=efc.eac.dict.impl
efc.eac.dict.service.sonar.projectName=efc.eac.dict.service
efc.eac.dict.web.sonar.projectName=efc.eac.dict.web
efc.eac.gerp.dao.sonar.projectName=efc.eac.gerp.dao
efc.eac.gerp.impl.sonar.projectName=efc.eac.gerp.impl
efc.eac.gerp.service.sonar.projectName=efc.eac.gerp.service
efc.eac.gerp.web.sonar.projectName=efc.eac.gerp.web
efc.eac.log.dao.sonar.projectName=efc.eac.log.dao
efc.eac.log.impl.sonar.projectName=efc.eac.log.impl
efc.eac.log.service.sonar.projectName=efc.eac.log.service
efc.eac.log.web.sonar.projectName=efc.eac.log.web
efc.eac.war.sonar.projectName=efc.eac.war

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

11.在cmd进入项目所在的根目录,输入命令:sonar-runner,分析成功后打开http://localhost:9000/,我们会看到主页出现了分析项目的概要图

12.点击相应的项目进入

13.查看问题

14.查看bug

15.进入bug详情查看具体信息

16.随便看一个,打印日志的建议。

sonarqube 代码检查的更多相关文章

  1. Android 代码检查工具SonarQube

    http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...

  2. 代码检查工具sonarqube介绍及使用

    亲测有效 环境:springboot+gradle+jdk1.8+sonarqube7.4 一.说明: SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速 ...

  3. Jenkins+SonarQube代码质量检查自动化

    基础概念百度百科:Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1.持续的软件版本发布/测试项目.2.监控外部调用执行的工作.前面[Sonarqube 代码质量 ...

  4. 在Jenkins中使用sonar进行静态代码检查

    要解决的问题 jenkins自动构建完成后,希望能通过sonar静态代码检查生成一份报告,给与开发人员对当前代码的做一个质量评估和修改意见 1.安装并配置sonar服务器 懒得说,跟着官方文档走就行, ...

  5. SonarQube4.4+Jenkins进行代码检查实例之三-单元測试分析

    作者:张克强    作者微博:张克强-敏捷307 在 <SonarQube4.4+Jenkins进行代码检查实例之中的一个> 中介绍了不编译仅仅检查的方式. 在<SonarQube4 ...

  6. Jenkins之Sonar 代码检查

    一.简介 SonarQube 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等 ...

  7. 十分钟搭建和使用sonarqube代码质量管理平台

    前言 Sonarqube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java.C.C++.JavaScripe等等二十几种编程语言的代码质量 ...

  8. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

  9. 代码检查工具 Sonar 安装&使用

    本文主要说明Sonar的安装方式并附上依赖安装包,本文目标只实现本地搭建测试的Sonar环境,以及本地的测试项目的非定制化扫描 本机测试环境:Win10-X64,.vs2017      依赖包: 1 ...

随机推荐

  1. BZOJ1632: [Usaco2007 Feb]Lilypad Pond SPFA+最短路计数

    Description 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成了M行N列个方格(1≤M,N≤30).一些格子是坚固得令人惊讶的莲花,还有一些格子是岩石,其余的只是 ...

  2. Java 类引入 学习记录规整

    之前觉得声明一个类,再把另一个包内的声明数值用第一个类打印出来就可以了(加入引入包类) 结果发现是不对的 看了看demo  得出正确结果    ImportTest 被运行 引入下面的Import类 ...

  3. C#中的DllImport使用方法

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息 DllImport属性应用于方法,要求最少要 ...

  4. JMeter源码导入到Intellij IDEA

    环境: Windows10,jdk1.8,Intellij IDEA 2018.1.5 x64,apache-jmeter-4.0_src.zip  http://jmeter.apache.org/ ...

  5. 转载:oracle 11g ADG实施手册(亲测,已成功部署多次)

    https://www.cnblogs.com/yhfssp/p/7815078.html 一:实验环境介绍 虚拟机系统: RHEL Linux 6.4(64位) 数据库版本: Oracle 11gR ...

  6. pandas (loc、iloc、ix)的区别

    loc:通过行标签索引数据 iloc:通过行号索引行数据 ix:通过行标签或行号索引数据(基于loc和iloc的混合) 使用loc.iloc.ix索引第一行数据: loc: iloc: ix:

  7. java基础深入解析基本类型

    一.基本类型的简介 基本类型的两条准则: Java中,如果对整数不指定类型,默认时int类型,对小数不指定类型,默认是double类型. 基本类型由小到大,可以自动转换,但是由大到小,则需要强制类型转 ...

  8. 用docker部署gitlab

    docker hub官网下载gitlab速度太慢,改用国内镜像+中文版 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh ...

  9. Java的JDK和JRE

    Java的JDK和JRE 1.计算机交互方式 图形化界面(Graphical User Interface GUI) 命令行方式(Command Line Interface CLI) 2.Java语 ...

  10. English trip -- Phonics 2 元音字母a

    xu言: 欲速则不达,如果这是你生命中最后一天.你还愿意花这么多精力继续坚持你现在做的事吗?如果答案是否定的,那么你需要改变了! What makes a word? 单词构成 Word 单词:    ...