Sonar对maven提供了简单可配的支持,要做的事情很简单——在maven/conf下settings.xml <profiles></profiles>标签之间添加如下内容:
<profiles> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>root</sonar.jdbc.username> <sonar.jdbc.password>root</sonar.jdbc.password> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties> </profiles>
另外,在pom.xml文件中加入:
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>2.6</version> </plugin> </plugins> </build>
这样maven已经集成了sonar。进入maven项目,执行mvn clean install,然后执行mvn sonar:sonar,就会执行静态代码检查(包括checkstyle、pmd)、覆盖率报告分析、代码行数统计,并插入到sonar依赖的数据库中。
在一个多模块项目中,
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>2.6</version> </plugin> </plugins> </build>
插件放在父pom里面就可以了