配置 Sonar 以支持 Maven

红薯 发布于 2011/03/23 07:44
阅读 20K+
收藏 8

英文原文:http://java.dzone.com/tips/configuring-sonar-maven

Sonar是一个开源平台,用于管理Java源代码的质量。从 Sonar 1.6 版本开始,Sonar从一个质量数据报告工具,转变成为现在的代码质量管理平台。

主要特点:

  • 代码覆盖:通过单元测试,将会显示哪行代码被选中
  • 改善编码规则
  • 搜寻编码规则:按照名字,插件,激活级别和类别进行查询
  • 项目搜寻:按照项目的名字进行查询
  • 对比数据:比较同一张表中的任何测量的趋势

接下来,让我们来配置 Sonar 支持 Maven ,首先在 Maven 的 settings.xml 文件中:

<profile>
   <id>sonar</id>
   <activation>
      <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
      <sonar.jdbc.url>jdbc:postgresql://localhost/sonar</sonar.jdbc.url>
      <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
      <sonar.jdbc.username>user</sonar.jdbc.username>
      <sonar.jdbc.password>password</sonar.jdbc.password>
      <!-- SERVER ON A REMOTE HOST -->
      <sonar.host.url>http://localhost:9000</sonar.host.url>
   </properties>
</profile>
首先必须运行 Sonar 服务器,并在 sonar.host.url 中指定该服务器的访问地址,在上面的配置中使用的是 Sonar 的默认 URL,同时还必须提供数据库的用户名和口令。

做完这些以后,就可以通过 mvn sonar:sonar 来执行代码分析,并将结果保存在 Sonar 数据库中,下图是最终的结果:

 

加载中
0
hi-alonesword
hi-alonesword
红薯已经搭建了此平台。
0
hi-alonesword
hi-alonesword

嘿嘿,最近已经搭建了 Jenkins + sonar + statsvn 的平台。

准备把这些东西的配置写成文档,大家交流交流。

ps:这篇文章给了我灵感,可以解决我们遇到的一个问题。哈哈,谢谢红薯!好吃的红薯!

0
Vincent.Chan
Vincent.Chan
[ERROR] Failed to execute goal org.codehaus.sonar:sonar-maven-plugin:3.0:sonar (default-cli) on project iBaby: Execution default-cli of goal org.codehaus.sonar:sonar-maven-plugin:3.0:sonar failed: An API incompatibility was encountered while executing org.codehaus.sonar:sonar-maven-plugin:3.0:sonar: java.lang.NoSuchMethodError: org.apache.maven.lifecycle.LifecycleExecutor.execute(Lorg/apache/maven/execution/MavenSession;Lorg/apache/maven/execution/ReactorManager;Lorg/apache/maven/monitor/event/EventDispatcher;)V

这个是什么错误啊
0
G
Gracy|Guo
sonar.scm.url这个参数怎么配置?求解
0
水下江湖
水下江湖
mvn运行命令  org.codehaus.mojo: sonar-maven-plugin : 2.4:sonar
0
alawn
alawn


因为用到了maven多项目结构,<packaging>pom</packaging>

在运行mvn sonar:sonar的时候直接就报错了。帮忙给看看,谢谢!

deqiang
deqiang
@superqc 不知道解决了没有,我也同样的问题
s
superqc
回复 @不折腾难受斯基 : 我也是 sonar最新版,maven3.x
不折腾难受斯基
不折腾难受斯基
我也出现这种错误,怎么解决啊
返回顶部
顶部