Productivity is falling?
Confess your source code to clean it up!
第一步:安装SONAR
1 准备好JAVA环境。
2 新建ORACLE表空间和用户.
2 下载最新的sonar,解压到目录C:\app\sonar-3.6
3 修改C:\app\sonar-3.6\conf\sonar.properties:
sonar.jdbc.username:sonar sonar.jdbc.password:sonar sonar.jdbc.url:jdbc:oracle:thin:@localhost:1521/orcl sonar.jdbc.driverClassName:oracle.jdbc.driver.OracleDriver
4 执行C:\app\sonar-3.6\bin\windows-x86-64\StartSonar.bat(操作系统为windows server 2008),启动自带的JETTY服务器。打开http://localhost:9000,如果显示sonar主页,则sonar安装成功.
5 安装中文插件和其它语言插件:将插件JAR包放到目录C:\app\sonar-3.6\extensions\plugins,重启服务即安装成功。
中文插件:sonar-l10n-zh-plugin-1.5
JS语言:sonar-javascript-plugin-1.3
web(HTML)语言:sonar-web-plugin-1.2
6 添加数据库驱动到C:\app\sonar-3.6\extensions\jdbc-driver\oracle\ojdbc-14.jar
第二步:安装SONAR-RUNNER
1 下载sonar-runner,解压到目录C:\app\sonar-runner-2.2.2
2 修改C:\app\sonar-runner-2.2.2\sonar-runner.properties:
sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/orcl sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.sourceEncoding=UTF-8 sonar.login=admin sonar.password=admin
3 添加系统环境变量:SONAR_RUNNER_HOME 值为 C:\app\sonar-runner-2.2.2
4 修改环境变量Path,在变量值末尾添加:“;%SONAR_RUNNER_HOME%\bin”
5 命令行里执行 sonar-runner -h 如果显示如下内容,则安装成功。
C:\app\sonar-runner-2.2.2 INFO: INFO: usage: sonar-runner [options] INFO: INFO: Options: INFO: -D,--defineDefine property INFO: -e,--errors Produce execution error messages INFO: -h,--help Display help information INFO: -v,--version Display version information INFO: -X,--debug Produce execution debug output
第三步:分析代码
1 拷贝代码到C:\workspase\xjglxt
代码目录结构如图:
2 添加C:\workspase\xjglxt\sonar-project.properties 内容如下 :
#required metadata #projectKey项目的唯一标识,不能重复 sonar.projectKey=xjglxt sonar.projectName=xjglxt sonar.projectVersion=1.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module,javascript-module,html-module # Java module java-module.sonar.projectName=Java Module java-module.sonar.language=java # .表示projectBaseDir指定的目录 java-module.sonar.sources=. java-module.sonar.projectBaseDir=src sonar.binaries=classes # JavaScript module javascript-module.sonar.projectName=JavaScript Module javascript-module.sonar.language=js javascript-module.sonar.sources=js javascript-module.sonar.projectBaseDir=webRoot # Html module html-module.sonar.projectName=Html Module html-module.sonar.language=web html-module.sonar.sources=pages html-module.sonar.projectBaseDir=webRoot
3 命令行里执行 cd ../../workspase/xjglxt 到项目根目录。
然后执行命令:sonar-runner,控制台会打印分析过程。当出现SUCCESS时,则分析成功。
INFO: -------------------- INFO: EXECUTION SUCCESS INFO: -------------------- Total time: 2:37.891s Final Memory: 14M/449M INFO: --------------------
官网:http://www.sonarqube.org/
示例:http://nemo.sonarsource.org/
文档&插件:http://docs.codehaus.org/display/SONAR/Continuous+Integration
遇到的问题及解决方法:
1 问题:项目列表里只有最近一次分析的项目。
原因:sonar.projectKey设置了同一个值。
2 项目名设置中文时显示乱码(sonar.projectName=中文)
原因:未找到