zoukankan      html  css  js  c++  java
  • sonarqube 代码检查

          再好的程序员也会出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:installFileqube ewQubesonarqube-5.3inwindows-x86-64StartSonar.bat

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

    3.配置 sonarqube 数据库

    E:installFileqube ewQubesonarqube-5.3confsonar.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:installFileqube ewQubesonar-scanner-2.5.1

    7.配置数据库信息

    E:installFileqube ewQubesonar-scanner-2.5.1confsonar-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:installFileqube ewQubesonar-scanner-2.5.1

    b.打开path,输入%SONAR_RUNNER_HOME%in;

    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.随便看一个,打印日志的建议。

  • 相关阅读:
    Python3学习笔记22-文件读写
    Python3学习笔记21-实例属性和类属性
    Python3学习笔记20-获取对象信息
    Python3学习笔记19-继承和多态
    Python3学习笔记18-访问限制
    Python3学习笔记17-类与实例
    Python3学习笔记16-错误和异常
    Python3学习笔记15-迭代器与生成器
    Python3学习笔记14-迭代与列表生成式
    Python3学习笔记13-函数的参数
  • 原文地址:https://www.cnblogs.com/yun965861480/p/6337480.html
Copyright © 2011-2022 走看看