Ant配置文件详解
<!-- 使用于发布源码放在一个目录中,并使用第三发jar包,通过修改全局变量定义部分完成自定义 该模板将把第三方jar文件解压然后打包到新的jar包中。 --> <project name="SuperDataBaseTools" basedir="." default="main" > <description>可疑交易报送服务程序</description> <!-- 全局变量定义 --> <property name="src.dir" value="src" /><!-- 源代码目录 --> <property name="build.dir" value="build" /><!-- 编译目标文件目录 --> <property name="lib.dir" value="lib" /><!-- 第三方工具类文件 --> <property name="sqljdbc" value="sqljdbc_auth.dll" /><!-- 资源文件 --> <property name="classes.dir" value="${build.dir}/bin" /><!-- 编译生成Class文件目录 --> <property name="jar.dir" value="${build.dir}" /><!-- 打包生成jar文件目录 --> <property name="main-class" value="conn.ConnDataBase" /><!-- 程序入口对象 --> <property name="version" value="1.0" /><!-- 指定程序的版本号,该值会添加到生成jar文件的后面。 --> <property name="encoding" value="GBK" /><!-- 编译目标的编码 --> <target name="main" depends="clean, preapare, compile, uncompress, jar, resources, clearUp" description="控制编译执行流程"> <echo>编译完成^_^</echo> <echo>目标jar文件:${jar.dir}/${ant.project.name}-${version}.jar</echo> </target> <target name="clean" description="删除旧的二进制代码"> <echo>清除旧的二进制文件</echo> <delete dir="${build.dir}" /> </target> <target name="preapare" depends="clean" description="准备文件目录"> <echo>为之后操作创建文件目录</echo> <mkdir dir="${classes.dir}" description="存放字节码文件" /> <mkdir dir="${jar.dir}" description="存放打包之后的jar文件" /> </target> <target name="compile" depends="preapare" description="编译java文件为字节码class"> <echo>编译</echo> <javac srcdir="${src.dir}" destdir="${classes.dir}"> <compilerarg line="-encoding ${encoding}" /> <classpath> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </classpath> </javac> </target> <target name="uncompress" depends="compile" description="将第三方jar解压到编译的文件,方便打包"> <echo>将第三方jar解压到编译的文件</echo> <unjar dest="${classes.dir}"> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </unjar> </target> <target name="jar" depends="compile, uncompress" description="将字节码文件打包成jar文件"> <echo>打包jar文件</echo> <jar destfile="${jar.dir}/${ant.project.name}-${version}.jar" basedir="${classes.dir}"> <manifest> <attribute name="Main-Class" value="${main-class}" /> <attribute name="Class-Path" value="." /> </manifest> </jar> </target> <target name="resources" depends="jar" description="配置运行需要的配置信息"> <echo>配置运行环境</echo> <copy todir="${jar.dir}"> <fileset file="${sqljdbc}"> <include name="sqljdbc_auth.dll"/> </fileset> </copy> </target> <target name="clearUp" description="清理生成的临时文件"> <echo>清理构建中产生的临时文件</echo> <delete dir="${classes.dir}" /> </target> </project>