使用Ant很方便将Java项目打成jar包,下面是自己写的一些配置。
build.properties
#set configuration target.dir=target targetclasses.dir=target/classes targetlib.dir=target/lib sourceclasses.dir=bin sourcelib.dir=lib src.dir=src project.name=myServer project.user=lzyer project.MainClass=com.test.px.loader.MyClassLoader #新增javadoc功能 targetdoc.dir=target/doc build.xml <?xml version="1.0" encoding="UTF-8"?> <!-- clean:删除target文件夹 compile:创建文件夹并将class编译到文件夹中或者将bin目录下的文件拷贝到classes目录下 package:clean->compile->打成jar包 项目结构 MyServer |-bin |-src |-lib |-target |-classess |-lib |-jar --> <project name="${project.name}" default="package"> <!--引入配置文件--> <property file="build.properties"/> <!--第三方jar包--> <path id="lib.classpath"> <fileset dir="${sourcelib.dir}"> <include name="/*.jar"/> </fileset> </path> <!--删除之前的目录,新建目录--> <target name="init" depends="clean"> <mkdir dir="${target.dir}"/> <mkdir dir="${targetclasses.dir}"/> <mkdir dir="${targetlib.dir}"/> <mkdir dir="${targetdoc.dir}"/> </target> <!--删除target目录--> <target name="clean"> <delete dir="${target.dir}"></delete> </target> <!--方式一、 这里有个问题,会出现配置文件错误 <target name="compile" depends="init"> <javac srcdir="${src.dir}" destdir="${classes.dir}"> <classpath refid="lib.classpath"></classpath> </javac> </target> --> <!--方式二、直接将bin目录的class文件和配置文件直接移动到classes目录下--> <target name="compile" depends="init"> <copydir dest="${targetclasses.dir}" src="${sourceclasses.dir}"></copydir> </target> <!--拷贝jar包以及src下的配置文件--> <target name="install"> <copy todir="${targetlib.dir}"> <fileset dir="${sourcelib.dir}"> <include name="/*.jar"/> </fileset> </copy> <copy todir="${targetclasses.dir}"> <fileset dir="${src.dir}"> <exclude name="**/*.java"/> </fileset> </copy> </target> <!--删除javadoc,注意docencoding的GBK--> <target name="doc"> <javadoc destdir="${targetdoc.dir}" encoding="UTF-8" docencoding="GBK"> <packageset dir="${src.dir}"> <include name="**"/> </packageset> </javadoc> </target> <!--打成jar包--> <target name="package" depends="compile,install,doc"> <!--设置时间戳--> <tstamp></tstamp> <jar destfile="${target.dir}/${project.name}-${DSTAMP}.jar" basedir="${target.dir}"> <manifest> <attribute name="Built-By" value="${project.user}"/> <attribute name="Main-Class" value="${project.MainClass}"/> </manifest> </jar> </target> </project> 更新: 2016/8/15添加生成javadoc功能