sonar作为代码质量管理,整合了checkstyle,findbugs,pmd加上自己的code coverage tool jacoco,非常优秀,sonar集成在maven parent pom,使用也非常方便。项目中慢慢使用sonar来代替以前maven中自己在report中加载代码管理插件。记录下sonar和maven的结合使用心得:
1. 从http://www.sonarqube.org/downloads/下载最新版的sonarqube
2. 解压之后去到bin目录,根据系统选择folder,比如window7 64 bit选择windows-x86-64,直接双击运行StartSonar.bat,sonar会使用default的database(h2)在localhost 9000 port开始服务。
3. 在maven里面,sonar插件的默认配置同sonar默认配置,可以直接通过在pom.xml文件目录运行mvn clean install -DskipTests=true之后再运行mvn sonar:sonar(使用skipTests的原因是sonar会自动run test,没必要重复跑)
其他信息:
1. sonar web登录的默认网址http://localhost:9000 用户名/密码:admin/admin
2. 可以通过配置sonar里面的pofile文件来修改代码管理标准
3. 可以通过修改sonarqube目录里面conf里面的sonar.properties来修改sonar使用的数据库,web等等信息。
4. 在maven中,一般在setting里面通过profile来指定sonar的数据库相关信息, for example
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
</properties>
</profile>
5. 可以通过sonar report plugin在maven的site report里面加一个到sonar的link,记得如果sonar不是默认url,要修改url配置
<plugin>
<groupId>org.codehaus.sonar-plugins</groupId>
<artifactId>maven-report</artifactId>
<version>0.1</version>
<!-- url property needed for non default sonar address -->
</plugin>
sonar更多详细信息:
http://www.sonarqube.org/