OOPAA

Focusing on OO, Patterns, Architecture, and Agile
posts - 29, comments - 75, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

持续检查之sonar初体验

Posted on 2010-12-22 22:55 mingj 阅读(6982) 评论(1)  编辑  收藏 所属分类: agile 敏捷设计开发

安装、启动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输出的报告,判断代码的质量,制定改善的措施了。


评论

# re: 持续检查之sonar初体验  回复  更多评论   

2011-01-25 20:40 by zcsunt
太感谢了!这个编码的问题找了好久都没找到。

只有注册用户登录后才能发表评论。


网站导航: