前言
ant是java开发者工具箱的重要一环,junit,xdoclet等都与它紧密关联,程序员可能习惯了IDE提供的自动构建,甚至部署的功能,从而忽略了ant本身,其实,主流的IDE通常是内置ant任务来完成这些工作的,熟悉ant内在的机理,
<property name="war.dir" value="dlist" /> |
<path id="master-classpath"> <fileset dir="${lib.root}/struts"> <include name="struts-menu-2.3.jar" /> <include name="struts.jar" /> </fileset> <fileset dir="${lib.root}/jakarta-commons"> <include name="commons-*.jar" /> </fileset> <fileset dir="${lib.root}/ibatis2.0.9"> <include name="ibatis-*.jar" /> </fileset> <fileset dir="${lib.root}/jdbcdriver"> <include name="jtds-0.9-rc2.jar" /> </fileset>s ...... </path> |
<target name="build" description="Compile main source tree java files into class files, generate jar files"> <mkdir dir="${build.dir}" /> <javac destdir="${build.dir}" source="1.3" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true"> <src path="${src.dir}" /> <classpath refid="master-classpath" /> </javac> <copy todir="${build.dir}" preservelastmodified="true"> <fileset dir="${src.dir}"> <include name="**/*.xml" /> <include name="**/*.properties" /> </fileset> </copy> <!-- ============================================= --> <!-- 据测试,资源文件不能被打到jar文件中,其余均可 --> <!-- ============================================= --> <copy todir="${webclasses.dir}/conf" preservelastmodified="true"> <fileset dir="${src.dir}/conf"> <include name="springResources*.properties" /> </fileset> </copy> <mkdir dir="${weblib.dir}" /> <jar jarfile="${weblib.dir}/${name}.jar" compress="true"> <fileset dir="${build.dir}"> <include name="**" /> </fileset> </jar> <copy todir="${weblib.dir}" preservelastmodified="true"> <fileset dir="${lib.root}"> <include name="log4j-1.2.8.jar" /> </fileset> <fileset dir="${lib.root}/struts"> <include name="struts-menu-2.3.jar" /> <include name="struts.jar" /> </fileset> <fileset dir="${lib.root}/jakarta-commons"> <include name="commons-*.jar" /> </fileset> <fileset dir="${lib.root}/spring-1.1.3"> <include name="spring.jar" /> <include name="aopalliance.jar" /> </fileset> ...... </copy> </target> <!-- ============================================= --> <!-- Compile main Java sources and copy libraries --> <!-- ============================================= --> <target name="warfile" description="Build the web application archive"> <mkdir dir="${dist.dir}" /> <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml"> <include name="*" /> <include name="WEB-INF/*.*" /> <exclude name="WEB-INF/web.xml" /> <include name="WEB-INF/classes/*.*" /> <include name="WEB-INF/lib/**" /> <exclude name="**/.*" /> </war> </target> |
<target name="warfile" description="Build the web application archive"> <mkdir dir="${dist.dir}" /> <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml"> <include name="*" /> <include name="WEB-INF/*.*" /> <exclude name="WEB-INF/web.xml" /> <include name="WEB-INF/classes/*.*" /> <include name="WEB-INF/lib/**" /> <exclude name="**/.*" /> </war> </target> |
<target name="all"> <antcall target="clean" /> <antcall target="build" /> <antcall target="warfile" /> </target> |