再好的程序员也会出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.随便看一个,打印日志的建议。