持续检查之sonar初体验

安装、启动Sonar:

Sonar的安装很容易,按照Sonar官方主页的安装指南解压缩即可。

Sonar默认使用derby作为数据库,你只需要在sonar.properties文件中去掉对derby数据库属性的注释,然后启动Apache derby数据库。

按照文档介绍,启动Sonar,默认的主页地址是http://localhost:9000,登录用户名和密码是sonar/sonar。

使用Sonar检查代码:

要使用Sonar检查代码,也很容易。

如果待检查项目是maven项目,则只需要安装sonar maven plugin即可;如果是非maven项目,则需要在项目根目录下创建pom.xml,内容按照文档配置。具体参见:http://docs.codehaus.org/display/SONAR/Analyzing+Java+Projects

现在只需要项目根目录下,运行mvn sonar:sonar就可以运行sonar maven plugin来检查项目中的代码了。

注意:

如果项目源文件使用的编码与系统的默认字符集不同,比如操作系统是GBK,而源文件编码为UTF-8。为了能够正常地检查代码,需要在pom.xml的properties元素下增加一项配置如:

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

否则,sonar在生成checkstyle.xml的时候,不会将正确的编码传进去,导致checkstyle在做AST分析的过程中使用了错误的字符集,从而提示字符错误:“expecting ‘xxx’, but got ‘<EOF>’”。即使是在调用mvn sonar:sonar的时候,增加参数如:

mvn -Dfile.encoding=UTF-8 -DsourceEncoding=UTF-8 sonar:sonar

也无法生效,虽然通过-e开关是可以看到系统的默认字符集已经改成了UTF-8。

好了,sonar已经安装完毕,而且也顺利地完成了代码的分析和检查。

下一步,我们就可以分析sonar输出的报告,判断代码的质量,制定改善的措施了。

One response on “持续检查之sonar初体验

Leave a Reply

Your email address will not be published. Required fields are marked *