Sonar是一个开源代码质量控制工具。把它加到现在的持续集成工具中就能够让你的java开发项目集中处于质量控制之下。下面是安装和使用记录 :
修改.m2/settings.xml 增加下边的内容到profiles段落中:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://localhost:8888</sonar.host.url>
</properties>
</profile>
增加mysql权限
GRANT all ON sonar.* TO sonar@localhost IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES ;
vim .bashrc export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m -Duser.timezone=Asia/Shanghai"
source .bashrc
下载sonar,配置mysql:
conf/sonar.properties用户密码不用,默认都是sonar
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
sonar.jdbc.validationQuery: select 1
配置启动的http端口
sonar.web.host : localhost启动服务:
sonar.web.port: 8888
sonar.web.context: /
bin/[YOUR PLATEFORM]/sonar.sh start开始使用:
进到项目里运行 mvn sonar:sonar
打开http://localhost:8888 即可看到对应项目里的代码质量和修改建议。
解决系统时区的问题:
vim sonar-xx/conf/wrapper.conf
wrapper.java.additional.3=-Duser.timezone=Asia/Shanghai