最近由于工作需要,接触到了Sonar,使用它的出发点是因为它能统计代码注释率,而且支持drill down,可以依次看到工程、包、类的注释率。

但Sonar作为一个很不错的持续集成工具,它的功能源不止于此,sonar 可以持续,自动地统计并分析软件项目的相关质量数据,例如单元测试的通过率,覆盖率,代码的复杂度,代码的行数,代码注释率等等,用于评估和度量软件项目质量。

我的Sonar的第一个应用,是Sonar和maven的配合使用,Sonar对Maven支持的比较好,网站上对于这两者结合使用的文章也非常多,因此如何用Sonar和maven来分析项目质量,在这边就不细说了,可以参考官方的网站:http://docs.codehaus.org/display/SONAR/Use+Sonar。这边主要说一下大致的步骤,以及在具体使用中碰到的几个问题。Sonar的使用真的非常简单,大概就包括以下几步,

 1、到官方网站下载Sonar 的压缩包,解压到任意目录,但是一定要注意:目录中不允许有中文,不然启动Sonar后,访问:http://localhost:9000返回的界面会报错。
 2、启动Sonar应用,可以直接点击bin/windows-x86-32目录下的StartSonar.bat,启动过程可能要1分多钟,请耐心等待,这里Sonar有一点不好的是,弹出的console中不打印任何信息。
 3、进入你的工程目录(当前目录下面有pom.xml文件),运行:mvn clean install  sonar:sonar,看到build successfully之后,就可以访问:http://localhost:9000来分析你的工程的代码质量了。

这里要说明的是,在执行maven命令时,后台会报一些乱码方面的错误,是由于java代码中出现中文字符串的问题造成的。可以通过以下方式解决:在<properties>中添加:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>,这是我试过的唯一的解决方案,在网上还提到两种解决方案,但都不管用。