用Ant来构建你的项目

Ant是什么?

       Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。

Ant究竟能做什么呢?这取决于Ant的任务(Task),Ant有哪些任务,就能完成哪些工作!一些典型的任务是:编译java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。

       当然,Ant是一个开放的架构,任何人,都可以按照自己的方式,添加自己的任务(Task),这需要遵守Ant的一些规范。

如何开始使用Ant

  1. 确保你的机器已经安装了JDK,确保你的path环境变量中包含有java虚拟机的运行程序,确保你的环境变量中有JAVA_HOME变量
  2. 下载ant 地址http://www.apache.org/找最新的版本并解压
  3. 设置ANT_HOME环境变量,指向ant解压根目录
  4. path环境变量中,添加ANT_HOME\bin目录
  5. 打开控制台,运行:ant
  6. 如果能够运行ant(忽略这些异常:Buildfile: build.xml does not exist!),而不是出现诸如命令无法解释的错误,那么你的ant就安装成功了
  7. 计算机生成了可选文字:BUildfile:bUild.XlllldoeSnoteXISt!BUildf己i1Od

 

Ant 的基本概念

Ant的运行,靠的是一个构建脚本,默认的名称叫build.xml,如果你在任何目录下运行ant命令,Ant将自动查找当前目录下有没有build.xml文件,如果有这个文件,就读取这个文件,并运行其中的默认target

 

构建脚本

Ant根据构建脚本的描述来执行任务!构建脚本是一个xml格式的文件。最简单的构建脚本是:

<?xml version="1.0" encoding="GBK"?>
<project name="测试脚本" default="copyfile" basedir=".">
	<target name="copyfile">
		<copy file=”d:/a.txt” todir=”c:/temp” overwrite=”true”/>
	</target>
</project>

如果把以上内容放到一个build.xml文件中,然后运行ant命令,Ant将执行拷贝文件的任务!

从这个最简单的构建脚本中,我们可以知道脚本的基本编写方法:

  1. 脚本的根元素是:<project>
  2. 所有的任务,必须通过一个<target>标签包围,一个<target>标签,可以包含多个任务。
  3. <copy>标签描述了一个任务,这些任务必须放到一个<target>标签的内部,Ant都可以使用哪些任务呢?请参考Ant的相关文档
  4. <project>中可以包含多个<target>,如果不指定运行哪个任务(即直接运行ant命令),那么,将使用<project>标签中指定的default属性的target

构建脚本的命名

默认命名是build.xml,如果你的构建脚本的名称是build.xml,那么你可以直接运行ant命令,如果是其它的名称,如:mybuild.xml,那么,你的命令行应该改为:ant f mybuild.xml

运行特定任务?

运行:ant copyfile,将运行的是被命名为copyfiletarget

Ant任务

Ant 有很多内置的(即你安装完ant之后就可以直接使用的任务)任务,但是也可以添加自己定义的任务。如果你编写了自己的任务,或者你要引入一些不是ant自带的任务时,我们需要使用<taskdef>标签来定义:

 

比如:

      

 <path id="xdoclet.task.classpath">
          <fileset dir="${xdoclet.home}/lib">
             <include name="**/*.jar"/>
          </fileset>
          <fileset dir="${xdoclet.home}/plugins">
             <include name="**/*.jar"/>
          </fileset>
       </path>
	<taskdef 
		name="xdoclet"
		classname="org.xdoclet.ant.XDocletTask"
		classpathref="xdoclet.task.classpath"
	/>

在这段文本里,包含了很多内容:

1<path>元素,是用来定义一个路径的,通常是定义classpath,因为classpath可以包括众多的jar包,也可以包括众多的目录,所以可以使用<fileset>标签或<pathelement>等标签来定义这些路径。

2、这些标签总体上来说都是轻易便能够看懂的。无需过多的解释。那个<include>标签中的name属性,正是一个路径模式,表示包括本目录(即dir 属性定义的目录。)下的所有子目录中的jar文件。

 

定义完任务之后,就可以来使用它了,如:

 

	<target name="生成Hibernate配置文件">
		<xdoclet>
			<fileset dir="${src.dir}/com/bjsxt/oa/model">
				<include name="**/*.java"/>
			</fileset>            
			<component
	classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
				destdir="${src.dir}"
				version="3.0"
				hbm2ddlauto="update"
				jdbcurl="jdbc:mysql://127.0.0.1/ant"
				jdbcdriver="com.mysql.jdbc.Driver"
				jdbcusername="root"
				jdbcpassword="mysql"
				dialect="org.hibernate.dialect.MySQLDialect"
				showsql="true"
			/>
		</xdoclet>
	</target>

 

      了解上边的那些内容之后,我们便知道如何去写一个ant,但是当我们真的要做的时候,不能马上作出好的build.xml,因为知道太少的ant的默认提供的命令.这个时候如果你想完成任务,并提高自己,可以参考一下建议:

 1,开源程序自带的build.xml,参考他们.

  2,ant的帮助文档.

  3,google,百度,永远不要忘记搜索引擎这个巨人.

    上面三个都是不同的巨人,时时刻刻想着站在巨人的肩膀上.你会慢慢的变强大.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值