Ant学习笔记
看Hibernate的时候发现Ant这个东东,花了3个小时查了些资料,并总结如下:
Ant是用来编译/运行/测试java程序
Ant可用于项目管理。
Ant还提供了打包,生成API文档等多功能。
总之,Ant可提高程序员的开发效率。
使用MyEcipse创建build.xml文件(如果自己写比较麻烦的话,可以用工具帮你生成,不过感觉有挺多垃圾信息)
具体方法如下:
【项目右键】>>【Export】>>【General】>>【 Ant Buildfiles】>>【 next】>>【 finish】即可
贴个下午写的一个 build.xml 文件:
<?xml version="1.0" encoding="UTF-8"?> <!-- <project>构建文件对应的一个项目 属性介绍: basedir表示项目的基准目录 basedir="."表示基准目录为src目录 default表示默认的运行目标(必须) name表示项目名 --> <project basedir="." default="build" name="Ant"> <property environment="env"/> <!-- <property>定义属性以及于其对应的值 通常:src存放java源代码文件 classes存放java编译后的文件 lib存放要用到的第三方jar包 dist存放打包后的jar包 doc存放API文档 --> <property name="src.dir" value="src/com/shine/ant"/> <property name="classes.dir" value="bin/com/shine/ant"/> <property name="lib.dir" value="lib"/> <property name="dist.dir" value="dist"/> <property name="doc.dir" value="doc"/> <!-- <path>定义类路径,其中值指向classes.dir --> <path id="Ant.classpath"> <pathelement location="${classes.dir}"/> </path> <!-- 初始化操作 --> <target name="init"> <!-- <delete>标签表示删除一个或一组文件 属性介绍: dir表示要删除的目录 --> <delete dir="${classes.dir}" /> <!-- <mkdir>标签表示创建目录 属性介绍: dir表示要创建的目录 --> <mkdir dir="${classes.dir}"/> <!-- <copy>标签用于文件或文件集的拷贝 属性介绍: includeemptydirs表示制定是否拷贝空目录 默认值为拷贝,此处不拷贝 todir表示目标目录 --> <copy includeemptydirs="false" todir="${classes.dir}"> <!-- <fileset>表示了一组文件信息 属性介绍: dir表示基目录 excludes表示需要派出的文件模式的文件列表 --> <fileset dir="${src.dir}" excludes="**/*.launch,**/*.java"/> </copy> </target> <!-- 清除操作 --> <target name="clean"> <delete dir="${classes.dir}"/> </target> <!-- <target>标签表示你要做的操作 属性name表示目标的名字,起到识别作用 depends表示依赖,就是要先执行clean才可以执行 --> <!-- 清除所有 --> <target depends="clean" name="cleanall"/> <target depends="build-project" name="build"/> <!-- 建立工程 --> <target depends="init" name="build-project"> <!-- <javac>标签用于编译一个或一组java文件 属性介绍: debug表示包含的调试信息 srcdir表示源文件 destdir表示class文件的输出目录 --> <javac debug="true" srcdir="${src.dir}" destdir="bin" > </javac> </target> <!-- 打包成jar包 --> <target name="pack"> <mkdir dir="${dist.dir}"/> <!-- <jar>文件用来生成一个jar文件 属性介绍: destfile表示生成的jar文件名 basedir表示被打包的文件名 --> <jar destfile="${dist.dir}/ant.jar" basedir="${classes.dir}"> <!-- <exclude>表示被排除的文件 --> <exclude name="**/*.java"/> </jar> </target> <!-- 生成API文档 --> <target name="doc"> <delete dir="${doc.dir}"/> <mkdir dir="${doc.dir}"/> <!-- <javadoc>标签用于生成javadoc-API文档 属性介绍: destdir表示要输出的目录 --> <javadoc destdir="${doc.dir}"> <!-- 指定要被包含的文件 为src/com/shine/ant下的所有类 --> <packageset dir="src" defaultexcludes="yes"> <include name="com/shine/ant/**"/> </packageset> </javadoc> </target> </project>
完毕~~~
2011年10月06日 05:26
thanks