再好的程序员也会出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. [web开发] - 一些注解的解释

    @WebServlet替代了原本web.xml中配置的url拦截 可以直接在servlet上添加该注解,加入("/hello")类似的路径 但在controller层(Spring ...

  2. 02_Spark Application不同模式下的监控

    监控Spark Application的运行 官方文档: http://spark.apache.org/docs/latest/monitoring.html 1.1 监控方式 Driver Pro ...

  3. 51nod 1445 变色DNA(最短路变形)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1445 题意: 思路: 挺好的一道题目,如果$colormap[i][j] ...

  4. Python day6_dictionary字典的常见方法1_笔记(基本类型结束)

    # 字典的简述 # 1.字典不能做字典的key,列表也不能作为列表的key info={ 'k1':'v1', 'k2':'v2' } print(info) #2.通过键获取值 print(info ...

  5. JAVA类和对象创建

    面向对象 学习目标: 理解面向对象的编程思想 理解类与对象的关系 如何创建类与对象 方法重载 一:什么是面向对象编程(OOP) 面向对象编程(Object Oriented Programming,O ...

  6. svg操纵方案 基于 D3 还是 angular?

    之前还是想简单了, 现在重新写这篇.把逻辑拆分粒度的辨析,放到外面去. 问题提出:svg控制方案 基于 D3 还是 angular 根据这个,html 4种展现样式:普通的html,svg,2D ca ...

  7. URAL 1741 Communication Fiend

    URAL 1741 思路: dp 状态:dp[i][1]表示到第i个版本为正版的最少流量花费 dp[i][0]表示到第i个版本为盗版的最少流量花费 初始状态:dp[1][0]=dp[0][0]=0 目 ...

  8. Codeforces 821C - Okabe and Boxes

    821C - Okabe and Boxes 思路:模拟.因为只需要比较栈顶和当前要删除的值就可以了,所以如果栈顶和当前要删除的值不同时,栈就可以清空了(因为下一次的栈顶不可能出现在前面那些值中). ...

  9. Python mysql-SQL概要

    2017-09-05 20:10:58 一.SQL语句及其种类 SQL使用关键字,表名,列名等组合成一条语句来描述操作的内容.关键字是指那些含义或者使用方法是先已经定义好的英语单词.根据RDBMS赋予 ...

  10. grub 启动错误 "file not found"

    刚安装ubuntu 14.4 竟然出现这么尴尬的事,ubuntu 行不行? 幸好还是能从u盘启动后,转到硬盘. 然后在网上找到了解决方法. http://askubuntu.com/questions ...