Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121775
  • 博文数量: 14
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 184
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-01 23:15
个人简介

我只是一个喜欢开发的测试,喜欢测试的开发,喜欢每天都知道得更多一些,更深入一些的感觉。。。。。

文章分类

全部博文(14)

文章存档

2015年(5)

2014年(2)

2013年(7)

分类: 敏捷开发

2015-08-13 21:38:53

Eclipse中使用ANT实现自动从SVN Checkout代码、编译、测试(1)

 

 

0.       软件版本

1)      操作系统Win7 旗舰版(64)

2)      JDK1.7

3)      EclipseMars Release (4.5.0) Eclipse Java EE IDE for Web Developers

4)      ANTapache-ant-1.9.6

5)      svnantsvnant-1.3.1

6)      SubclipseSubclipse 1.10.9

 

 

1.       安装ANT

可以在ant的官网上下载,下载下来是一个压缩包,无需安装,解压缩即可。

 

为了能更方便在命令行中使用,需配置一下相应的环境变量。例如我下载的zip包是apache-ant-1.9.6-bin.zip,解压缩到F:\Library\JavaStudio\apache-ant-1.9.6,因此设置环境变量如下:

1)      ANT_HOME设置为F:\Library\JavaStudio\apache-ant-1.9.6

2)      path添加%ANT_HOME%\bin

3)      classpath添加%ANT_HOME%\lib

 

 

2.       ANT基础

Ant的使用很简单,写一个xml文件,默认是build.xml,但可以其其他名字,当为其他名字的时候,用ant命令执行该文件的时候,需将该文件名作为参数-buildfile的值传递给ant

     

我们来建一个简单的build.xml


点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="Deploy" default="init">
  3.     <property name="buildDir" location="F:\build"></property>
  4.     
  5.     <target name="init">    
  6.         <delete dir="${buildDir}" />
  7.         <mkdir dir="${buildDir}"/>        
  8.     </target>
  9. </project>

 

说明一下:

1)        每个ant构建xml文件的根标签是<project>

2)        <project>下可以有多个<target>,用来完成相对独立的步骤,比如初始化、从SVN checkout代码、编译、打包、测试等等,这些<target>之间可以有依赖关系,如编译必须在初始化和checkout代码之后,可以这样写


点击(此处)折叠或打开

  1. <target name="compile" depends="init,svn">
  2.     ……
  3. </target>


<target>name属性值必须是唯一的,此外可以在<project>中指定默认的target,如上例中指定init为默认target,执行该构建文件的时候,或执行该默认target,如果该target依赖其他target,会先执行这些依赖的target,然后再执行默认target

 

上例中,我们只是简单地清空一个文件夹,可以看做是构建之前的初始化工作的一部分,将构建目录清空。关于其他的相对更复杂的target,下面的各小节会详细说明。

 

 

3.       Eclipse中使用ANT

Eclipse中已经默认安装了Ant插件,在项目中引入Antjar包即可在Eclipse中使用Ant了。

 

     在Eclipse中创建一个Java Project,然后在项目的根目录下新建一个build.xml文件,在Window/Show View中将Ant窗口打开。在Ant窗口中点击右键选择【Add Buildfiles…】将新建的build.xml添加到Ant窗口,这样以该构建脚本的project的name属性值为根节点,每个target为其一个子节点,需要运行哪个target时,只需双击对应的节点即可,非常方便。
阅读(2354) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~