以下代码是基于一个项目的打包,生成DOC API文档,发布等一些过程..为开发人员提供方便..
代码如下:
<?xml version="1.0" encoding="GB2312"?> <!--默认执行dist任务,basedir="."代表当期目录--> <project default="dist" basedir="."> <!--定义系统的环境属性--> <property environment = "env" /><!--获取widow,unix的环境变量--> <property name="java.home" value="${env.JAVA_HOME}"/><!--获取环境变量中的Java_home的变量值.--> <property name="ant.home" value="${env.ANT_HOME}"/> <!--获取环境变量中的Ant_home变量值--> <!--定义主要的app应用程序的环境属性--> <property name="app.name" value="HelloWorld"/> <property name="app.jar" value= "${app.name}.jar"/> <property name="app.copyright" value="Copyright(c)2011 sz All right reserved." <!--app应用程序src的属性--> <property name="src.dir" value="src"/> <property name="src.main" value="${src.dir}/main"/> <property name="src.script" value="${src.dir}/script"/> <!--app用到的lib--> <property name="lib.dir" value="lib"/> <!--app的build目录中--> <property name="build.dir" value="build"/> <property name="build.classes" value="${build.dir}/classes"/> <property name="build.docs" value="${build.dir}/docs"/> <property name="build.docs.api" value="${build.docs}/api"/> <property name="build.lib" value="${build.dir}/lib" /> <!--app的dist(distribution)发布的属性.目录中--> <property name="dist.dir" value="dist"/> <property name="dist.bin" value="${dist.dir}/bin"/> <property name="dist.docs" value="${dist.dir}/docs"/> <property name="dist.lib" value="${dist.dir}/lib"/> <!--app的docs目录中--> <property name="docs.dir" value="docs"/> <!--配置classpath路径--> <path id="classpath"> <!--要编译的路径--> <pathelement location="${build.classes}"/> <!--引用java home的环境变量--> <pathelement path="${java.home}/lib/tools.jar"/> <path> <!--定义第一个,初始化目标--> <target name="init"> <!--清除以前目录,failonerror,但删除时,目录不存在,是否报错误, 为false不报错误信息。程序继续执行,如果设置为true,则会终止程序的运行--> <delete dir="${build.dir}" failοnerrοr="false"/> <delete dir="${dist.dir}" failοnerrοr="false"/> <!--准备目录,重新创建目录--> <mkdir dir="${build.dir}" /> <mkdir dir="${build.classes}"/> <mkdir dir="${build.docs}"/> <mkdir dir="${build.docs.api}"/> <mkdir dir="${build.lib}"/> <mkdir dir="${dist.dir}"/> <mkdir dir="${dist.bin}"/> <mkdir dir="${dist.lib}"/> </target> <!--inti初始化完成之后,就是build构建的编译工作,它依赖于inti初始化任务--> <!--编译工作--> <target name="build" depends="init"> <!--srcdir只的是.java源文件目录,destdir指的是,编译后的class文件,存放的路径,--> <javac srcdir="${src.main}" destdir="${build.classes}"> <!--引用classpath 路径,找到java home/lib/tools.jar工具,进行编译.--> <classpath refid="classpath"/> <javac> </target> <!--打包任务,依赖于build任务--> <target name="jars" depends="build"> <!--basedir指的是,把build/classes目录下的.class文件进行打包,--> <!--jarfile指的是,jar包文件的类型,比如jar包,war(web 项目的war包。)${app.jar}指的是,引用程序名称HelloWorld.jar--> <jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}"/> </target> <!--生成doc文件任务,依赖于打包之后的任务--> <target name="javadocs" depends="jars" description=" Create The API documentation"> <!--copy docs手册,todir指的是,把文件拷贝到哪个目录下,--> <copy todir="${build.docs}"> <!--生成的文件,存放在dir文件集目录下--> <fileset dir="${docs.dir}"/> </copy> <!--packagenames,指包的名称--> <javadoc packagenames="hello.ant.*" sourcepath="${src.main}" defaulttextcudes="yes" destdir="${build.docs.api}" ahthor="true" version="true" use="true" windowtitle="Docs API"> <doctitle> <![CDATA[<h1>Hello World Ant Docs API</h1>]]</doctitle> <!--API文档,底部显示版权信息,--> <buttom><![CDATA[<i>${app.copyright}</i>]]></buttom> <tag name="todo" scope="all" description="To do:"/> </javadoc> </target> <!--发布任务,依赖于javadocs--> <target name="dist" depends="javadocs"> <!--复制bin执行文件--> <copy todir="${dist.bin}"> <fileset dir="${src.script}"/> </copy> <copy todir="${dist.docs}"> <fileset dir="${build.docs}"/> </copy> <copy todir="${dist.lib}"> <fileset dir="${build.lib}"/> </copy> </target> </project>