Ant入门--构建文件详细分析
来源:互联网 发布:mac暂存盘已满怎么办 编辑:程序博客网 时间:2024/04/30 10:41
一个项目在发布过程中或者运行时,往往需要创建,复制删除一些文件等编译运行之外的事情去做,这时往往需要一个类似于make的过程。Ant就是基于这样一个目的,它使用xml文件进行配置。下面是四子棋游戏的构建文件,
<!-- ======================================================================
2006-10-9 下午16:10
project Bingo
description a DIY bingo game
lilijun
====================================================================== -->
<project name="DIYBingo" default="bin" basedir=".">
<!-- 为构建文件设置全局属性 -->
<property name="src" value="."></property>
<property name="classes" value="classes"></property>
<property name="bin" value="bin"></property>
<!-- 初始化目标 -->
<target name="init">
<tstamp/>
<mkdir dir="${classes}"/>
</target>
<!-- 用于编译源文件的目标 -->
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${classes}">
</javac>
</target>
<!-- 用于打包发布的目标 -->
<target name="bin" depends="compile">
<mkdir dir="${bin}"/>
<jar jarfile="${bin}/DIYBingo.jar" basedir="${classes}">
</jar>
<java classname="com.lilijun.game.bingo.ui.BingoGameUI" fork="true" >
<arg value="-h"/>
<classpath>
<pathelement location="${bin}/DIYBingo.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
<!-- 用于清理此次构建生成文件的目标 -->
<target name="clean">
<delete dir="${classes}"></delete>
<delete dir="${bin}"></delete>
</target>
</project>
现在根据自己的理解分析如下。
第一,每一个项目都有一个<project></project>标签。它有以下几个属性:name为项目名称,default为默认的目标任务,basedir为项目根目录,一般为"."。例如<project name="DIYBingo" default="bin" basedir="."> </project>
第二,设置项目构建文件的全局属性,它可以在定义后的任何位置被引用。用<property/>定义。它的属性有:name为属性名称,location为该属性代表的位置。它可以通过${}引用。例如<property name="src" value="src"></property>,在引用时使用${src}即可。
第三,一个构建文件target至少有一个,为默认的。target A可以依赖于另一个target B,这样的话,A必须在B执行后的前提下执行。它的属性有:name为目标名称。depends为所依赖的目标。
第四,Ant中有许多已经定义好的task,用户可以直接使用。每一个task代表着一个可执行的代码段,完成一定的功能。这些tasks大约可以分为19类,乍一看好像无从下手,其实作为初学者,我觉得记住几个比较常用的就行了,它们是javac,java,jar,copy,mkdir,delete就可以了。具体的如果需要可以查阅ant在线文档:http://ant.apache.org/manual/index.html。下面就常用的说明一下。
1.javac用来编译java源代码。常用属性有:srcdir为源代码存放目录,destdir为编译后的类的存放目录,classpath为要用到的类路径。
2.java用来运行一个类或项目主类。常用属性有:classname为要执行的类名称,jar为运行类所需的类的jar文件,fork一般为true,在使用jar时就必须为true。args为运行的参数,现已废弃不用,换之用内嵌的<arg>标签。
3.jar用来生成类和资源的jar文件。常用属性有:destfile为要创建的jar文件名称。basedir为用来生成jar文件的根目录。
4.copy用来复制文件。常用属性有:file为被复制的文件。它可以被内嵌的<fileset>代替。tofile为复制的目的地。todir与tofile功能相同。当使用file属性时,则tofile和todir均可。当使用<fileset>内嵌标签时,若目的地址多于一个,或者文件或目录的属性在fileset中被确定,则只能使用todir。
5.mkdir用来创建文件目录。只有一个属性dir:要创建的目录。
6.delete用来删除一个文件目录。常用属性:file或dir,若<fileset>中没有确定,则二者必须使用一个。
至此,四子棋游戏中的构建文件t介绍完了,最后,由于我刚学Ant,四子棋不满意的或者说得不对的地方先道歉了,希望大家给出宝贵建议!共同进步!并附上项目文件目录树:
-DIYBingo
|--classes(存放编译后的类)
| --com
| --lilijun
| --game
| --bingo
| --player
| --ui
| --util
|--src
| --com(存放源代码)
| --lilijun
| --game
| --bingo
| --player(Player.java,ManPlayer.java)
| --ui(ChessBoardPane.java,BingoGameUI.java)
| --util(GameController.java,GameTable.java,TestWin.java)
|--bin(jar文件)
| --DIYBingo.jar
|--resources
|--build.xml(构建文件)
|--.classpath
|--.project
- Ant入门--构建文件详细分析
- 构建文件入门—ant入门指南(2)
- 构建文件入门—ant入门指南(2)
- ant构建和入门
- Ant构建文件
- Ant构建文件解说
- 整合ANT构建文件
- ant 构建文件路径
- Ant构建文件
- ANT 构建工具低调入门
- ANT教程之三 Ant构建文件
- 通用任务ant构建文件
- Ant构建文件解析(转)
- [转帖]ant入门:我喜欢简单:ant - java 构建工具
- ant编程资料--非常简单入门详细
- ant构建文件的注释有两种方式
- ant 执行多个构建文件
- Ant 构建文件的一种写法
- 简单的ASP.NET三层架构数据库后台
- Repeater控件
- 反编译:java代码中含有同步和异常的反编译前后代码对照的一个例子(xiongjy)
- C 语言复习与提高---III. 语句
- 关于AspectJ 中的pointcut 语法
- Ant入门--构建文件详细分析
- 2006-10-17 突然想起
- 10月13日hibernate培训日记
- windows mobile java 虚拟机
- 今天生日
- suse加载ntfs分区
- 十六进制编解码
- 原型模式(Prototype Pattern)
- VTelnet,即时通讯界面