持续集成工具Sonar的使用(二)[ant+sonar]

转载 2012年03月21日 11:24:01

 

上一篇我们讲述了Sonar和Maven的结合来达到代码质量审查的效果,但是由于maven的学习成本高,并不是任何项目都适合,因此本篇我们讲述一下如何通过Sonar和ant的结合来进行代码质量审查。
 
目前来说,Sonar和Ant的集成没有做到Sonar和Maven的集成这么好,因此在使用过程中需要多写一些脚本。我们下面来介绍一下使用步骤吧:
  1、下载Sonar并解压到任何目录,注意目录中不允许有中文;
  2、点击bin\windows-x86-32\StartSonar.bat启动Sonar;
  3、下载一个ant插件:sonar-ant-task-1.1.jar,并存放到某个路径,ant脚本需要访问这个文件。
  4、编写一个ant脚本,如下:

<?xml version="1.0" encoding="UTF-8" ?>

<project name="framework-client" default="sonar" basedir=".">
  
 <property name="project.name" value="framework-client"/>
 <property name="src.dir" value="${basedir}/src/main/java" />
 <property name="lib.dir" value="${basedir}/lib"/>
 
   <!-- Out-of-the-box those parameters are optional -->
   <!-- EXAMPLE FOR MYSQL    
   <property name="sonar.jdbc.url"
        value="jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8" />
   <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
   <property name="sonar.jdbc.username" value="sonar" />
   <property name="sonar.jdbc.password" value="sonar" />
   -->

   <!-- SERVER ON A REMOTE HOST -->
   <!--
   <property key="sonar.host.url" value="http://myserver:1234" />
   -->
 
   <!-- Define the Sonar task if this hasn't been done in a common script -->
   <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
     <classpath>
       <pathelement location="${lib.dir}/sonar-ant-task-1.1.jar"/>
     </classpath>
   </taskdef>
  
   <!-- Add the target -->
   <target name="sonar">
     <!-- list of mandatories Sonar properties -->
     <property name="sonar.sources" value="${src.dir}" />
    <property name="sonar.projectKey" value="org.example:${project.name}" />

     <!-- list of optional Sonar properties -->
    <!--
     <property key="sonar.projectName" value="this value overrides the name defined in Ant root node" />
     <property key="sonar.binaries" value="list of directories which contain for example the Java bytecode" />
     <property key="sonar.tests" value="list of test source directories separated by a comma" />
     <property key="sonar.libraries" value="list of paths to libraries separated by a comma (These libraries are for example used by the Sonar Findbugs plugin)" />
    -->
    
     <sonar:sonar key="${sonar.projectKey}" version="0.9" xmlns:sonar="antlib:org.sonar.ant"/>

    </target>
</project>

  5、运行ant脚本,看到build successfully的提示后,就可以访问:http://localhost:9000/来查看代码质量审查结果了。

上述是使用Sonar和ant最简单的步骤,用了Sonar自带的嵌入式数据库Derby,以及standalone的应用服务器,当然也支持使用其它数据库,比如:mysql,只要修改一下sonar.properties的配置文件,以及在ant脚本中配置一下连接数据库的方式。另外也可以使用tomcat、jboss等应用服务器来发布Sonar应用,只要运行一下Sonar自带的一个脚本:build-war.bat就可以了,这里不再详述。

sonar-ant-task-2.2.jar

  • 2014年08月28日 10:42
  • 1.74MB
  • 下载

Sonar入门(三): Ant集成Sonar

Sonar也支持ant工程的构建,但是相对于maven而言,最大的不足是无法在分析过程中产生单测覆盖率报告。因此要求用户在ant项目中配置好cobertura/jacoco报告,最后执行sonar构建...
  • javaACMer
  • javaACMer
  • 2013年09月25日 18:41
  • 2809

sonar-ant-task-2.2.jar

  • 2016年04月07日 23:38
  • 1.74MB
  • 下载

sonar ant+jacoco 编译测试并出具测试代码覆盖率报告

将如下内容 保存为一个 buildx.xml 文件. 选择该xml文件,  右键选择, run as , ant build...  ,  选择 all 1.  clean 2.  in...
  • libing13810124573
  • libing13810124573
  • 2016年05月25日 10:20
  • 1337

vi使用、Ant安装配置、Junit和Sonar的学习心得

一、关于vi/vim的学习与使用Linux 下 vi/vim 有三种模式,进行编辑的时候需要交叉地切换模式才能完成编辑。三种模式分别是,命令模式(Command mode)、插入模式(insert m...
  • w_bu_neng_ku
  • w_bu_neng_ku
  • 2017年03月19日 23:19
  • 249

Jenkins、SonarQube的安装和简单使用

Jenkins、SonarQube的安装和简单使用 目录 1.Jenkins简介 2.Jenkins配套安装的组件 3.Jenkins的安装(CentOs为例) 4.Jenkins初...
  • u014409696
  • u014409696
  • 2014年12月22日 15:52
  • 4993

sonar-ant-task-2.1

  • 2014年01月23日 17:48
  • 1.76MB
  • 下载

sonarQube自动化测试之sonar-runner进行测试

在网上看了许多sonarQube的教程,首先这里向大家说明下两者的关系 sonarQube是一个(代码质量管理平台)开源平台,用于管理Java源代码的质量,通俗点说个人认为其实类似于一个服务器,就像...
  • softstarhhy
  • softstarhhy
  • 2015年07月28日 22:33
  • 2014

sonar-ant-task-2.1.jar

  • 2014年10月22日 14:02
  • 1.76MB
  • 下载

sonar-ant-task

  • 2016年04月05日 11:09
  • 1.76MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:持续集成工具Sonar的使用(二)[ant+sonar]
举报原因:
原因补充:

(最多只允许输入30个字)