ANT的配置不太好记,整理下,方便以后复制粘贴。
操作步骤大致如下:
首先,下载ant并解压,目录结构为: D:\apache-ant-1.7.1-bin\apache-ant-1.7.1
顺便配置下环境变量
ANT_HOME --> D:\apache-ant-1.7.1-bin\apache-ant-1.7.1
path --> %ANT_HOME%\bin;
然后,在当前项目(组件式开发)根目录下建立build文件夹,并在该文件夹下
1.新建一个build.bat文件,内容如下:
D:\apache-ant-1.7.1-bin\apache-ant-1.7.1\bin\ant -logfile log.txt -buildfile build.xml
pause
2.新建LIB文件夹并添加如下两个jar包
javax.servlet.jar
javax.servlet.jsp.jar
3.新建build.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <project name="ZZT" default="publish"> <property name="svndir" value="./.." /> <property name="libdir" value="./Lib" /> <property name="workdir" value="xxx.war" /> <property name="jspdir" value="WebContent" /> <property name="javadir" value="ProductCode" /> <property name="war.name" value="xxx.war" /> <!--设置运行环境 *.jar--> <path id="bs-ref-library"> <fileset dir="${svndir}/ZZT_CJ000_ShareLib"> <include name="*.jar" /> </fileset> <fileset dir="${libdir}"> <include name="*.jar" /> </fileset> <pathelement location="${workdir}/WEB-INF/classes" /> </path> <!--处理工作目录--> <target name="DealWorkDir"> <delete dir="${workdir}" /> <delete dir="${war.name}" /> <delete> <fileset file="xxx.war" /> </delete> <mkdir dir="${workdir}" /> </target> <!--拷贝WEB文件到工作目录--> <target name="copyWebFile" depends="DealWorkDir"> <copy overwrite="true" todir="${workdir}"> <fileset dir="${svndir}/ZZT_CJ001_ZZTFW/${jspdir}" /> <fileset dir="${svndir}/ZZT_CJ002_User/${jspdir}" /> </copy> </target> <!--处理WEB_INF文件夹--> <target name="dealWebInfFolder" depends="copyWebFile"> <delete dir="${workdir}/WEB-INF" /> <mkdir dir="${workdir}/WEB-INF" /> <mkdir dir="${workdir}/WEB-INF/lib" /> <copy overwrite="true" todir="${workdir}/WEB-INF/lib"> <fileset dir="${svndir}/ZZT_CJ000_ShareLib" includes="*.jar,*.zip" /> </copy> <mkdir dir="${workdir}/WEB-INF/classes" /> </target> <!--编译所有ZZT_UAC一的组件,组件顺序不分先后,并将相应的jsp文件copy到相应的文件夹--> <target name="buildAllJavaFile" depends="dealWebInfFolder"> <javac destdir="${workdir}/WEB-INF/classes" includes="**/*.java" encoding="UTF-8" source="1.5" target="1.5" deprecation="false" optimize="true" failοnerrοr="false" debug="true"> <classpath refid="bs-ref-library" /> <src path="${svndir}/ZZT_CJ001_ZZTFW/${javadir}" /> <src path="${svndir}/ZZT_CJ002_User/${javadir}" /> </javac> </target> <!--将需要的配置文件copy到相应目录--> <target name="copyConfigFile" depends="buildAllJavaFile"> <copy overwrite="true" todir="${workdir}/WEB-INF/classes"> <fileset dir="${svndir}/ZZT_CJ001_ZZTFW/${javadir}" includes="**/*.xml,**/*.hbm.xml,**/*.properties,**/*.config,**/*.txt" /> <fileset dir="${svndir}/ZZT_CJ002_User/${javadir}" includes="**/*.xml,**/*.hbm.xml,**/*.properties,**/*.config,**/*.txt" /> </copy> </target> <target name="copyTempFiles" depends="copyConfigFile"> <copy overwrite="true" todir="${workdir}/WEB-INF"> <fileset dir="${svndir}/ZZT_CJ001_ZZTFW/${jspdir}/WEB-INF" includes="**/*.xml"></fileset> </copy> </target> <target name="mkWAR" depends="copyTempFiles"> <mkdir dir="xxx.war" /> <copy overwrite="true" todir="xxx.war"> <fileset dir="${workdir}"></fileset> </copy> </target> <target name="finalize" depends="publish"> <delete dir="${workdir}" /> </target> <!-- 发布版本 --> <target name="publish" depends="copyTempFiles"> <zip destfile="${artifactsDir}/${war.name}" basedir="./"> <include name="${workdir}/**/*.*" /> </zip> </target> </project>
OK,执行build.bat就到位了。