最近有一段时间没有用开源中国的git服务了,今天上去发现多了个sonar代码分析工具,可能之前就上过线,没怎么认真了解,使用了一下,感受还不错,可是开源中国的sonar分析速度太慢了,我能够理解,毕竟这个服务这么多人使用,而后我就打算在本身的电脑上安装一个sonar的分析工具。java
首先搜索引擎找到sonar的官网,而后下载安装包,而后查看document,最新版的安装要求是有jdk8以及一个数据库,例如mysql,postgres之类的。碰巧机子安装了mysql和postgres两个数据库,可是我本身的机子安装的是jdk7,那就下载jdk8吧,若是直接安装的话,会覆盖掉咱们的jdk7设置的环境变量。mysql
因此这里安装jdk8的时候要注意一点,如图所示:
git
公共JRE不要勾选安装,若是勾选的话,安装以后就会覆盖你以前设置的jdk7的环境变量。这里咱们安装jdk8主要是为了sonar的运行而已。没有安装公共JRE的话,就是要你本身配置jdk8的环境变量。咱们把jdk8装上。
而后解压咱们下载的sonarqube-6.0的安装包,打开以后根据官方文档的指示,咱们须要到conf目录下面去编辑sonar.properties文件,里面主要是一些数据库的配置和网站的配置。
其中几个主要的参数是:sonar.jdbc.username,sonar.jdbc.password,sonar.jdbc.url
选择本身的数据库的jdbc url,我这里选择的是postgres,sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar
注意你须要使用命令行或者一些图形界面,建立一个数据库,我这里使用navicat建立了一个sonar的数据库,里面的表,一会启动以后,会自动建立。不用咱们管,咱们建好数据库就好了。
还有几个参数也要配置,sonar.web.host,sonar.web.port,host的话,默认是0.0.0.0的
这里若是不修改的话,后面浏览器使用localhost会没法访问,我这里修改为127.0.0.1
端口的话,你要看一下有没有冲突,没有冲突的话,就不用修改使用默认的9000就行了
到此,已经配置完毕,其它一些细化的配置的话,我的以为不必去修改,毕竟只是咱们本身本机使用做代码分析而已。
接下来就是运行了,bin目录下找到windows_64位的目录,找到StartNTService.bat
注意了,不要直接点击运行,由于bat这种文件是要开新的命令行来运行的,否则的话,你直接点的话,会闪一下而后就消失了。
打开cmd命令行,把文件拖过去回车运行。这时候因为我机子安装的是jdk7,而这个版本是须要jdk8的环境的,不急,立刻就能够解决这个问题。
打开conf目录,找到另外一个配置文件wrapper.conf
咱们能够看到这样一句话:
# Path to JVM executable. By default it must be available in PATH.
# Can be an absolute path, for example:
wrapper.java.command=I:/Java1_8/jre/bin/java
#wrapper.java.command=java
可使用环境变量的Java运行,也可使用绝对路径运行。
那咱们就用绝对路径吧,刚打开的时候绝对路径的前面是加了#号的,咱们修改一下,如上面所示,个人jdk8是放在I盘的,读者能够根据本身的状况填写就好了。
而后点击运行,通过一段时间等待,看到命令行上有三个up就成功了。而后打开浏览器访问localhost:9000,出现sonar的管理界面就算安装成功了。
接下来是汉化管理界面,英语阅读没问题的童鞋能够不用汉化。不过我虽然看的懂,可是仍是以为汉化后比较舒服,在sonar的官网上在文档右侧的tab找到Plugins,这里我给出Plugin的连接,之后可能会有变化,
http://docs.sonarqube.org/display/PLUG/Plugin+Library
打开以后,在下方找到Localization,点击Chinese,而后跳转到一个Github的地址,https://github.com/SonarQubeCommunity/sonar-l10n-zh
根据read.me的提示下载好汉化jar包,而后放在sonar目录下的extensions下的plugins目录,而后重启服务器,接下来访问网址就能够看到汉化后的界面了。github
咱们接下来使用一下sonar分析一下咱们本地的项目代码了。根据官网文档说明,
http://docs.sonarqube.org/display/HOME/SonarQube+Platform
web
get start的第三个步骤,分析源代码,点击以后咱们在下面找到scanner,扫描代码的工具
sql
点击最上面的Scanner,固然你要是其它类型的话,能够按照本身类型选择扫描器
http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
点击下载以后,解压以后,目录里面有bin,conf,lib
咱们打开bin,找到sonar-scanner.bat,接下来选择你要分析的项目地址,假设个人项目在:
d:project/javaproject1
使用命令行cd到项目的根目录,注意在根目录下须要一个sonar-project.properties这样的一个文件,用来讲明项目的属性,这个连接的文章有说明:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
建立文件以后,编辑文件,我这里的编辑是:
数据库
# Required metadata
sonar.projectKey=projectkey
sonar.projectName=learn
sonar.projectVersion=1.0windows
# Comma-separated paths to directories with sources (required)
sonar.sources=src浏览器
# Language
sonar.language=java服务器
# Encoding of the source files
sonar.sourceEncoding=UTF-8
其中sources就是你的源码目录,个人项目是eclipse项目,因此是src目录,其它类型的本身看着填写。
而后在根目录下执行sonar-scanner.bat命令,结果提示jdk7没法运行,好吧咱们来继续修改一下配置文件:
这个scanner没有配置文件,咱们只能修改bat命令了。
首先咱们须要增长一个咱们的jdk8的环境变量,打开个人电脑,环境变量,系统变量输入一个名字,注意不要是JAVA_HOME了,这里我用来设置jdk8的变量名字叫作JAVA_1_8,而后填写jdk8的路径,和传统设置java_home的方法是同样的。
使用编辑器打开bat命令,全局搜索替换%JAVA_HOME%为%JAVA_1_8%,替换以后保存,而后点击运行,运行成功。
这里分析只用了几十秒钟就搞定个人项目了,若是是用开源中国的osc的sonar的话,可能要半个小时。
接下来打开localhost:9000,能够看到Projects里面有咱们刚刚分析的项目,查看分析的效果,根据分析结果修改咱们的代码。
介绍到此为止,多谢阅读,但愿对你们有帮助。