ant實現java項目自動構建並打包war
基於netbeans,打包war
1.目錄結構
proA proB ... src JAVA源碼編輯目錄 ... WebRoot web檔案存放地方 ... WEB-INF ...lib jar包(類庫)存放目錄 ... build 編譯產生的class檔案存放目錄 ... dist war和javadoc存放目錄 ... build.xml ant指令碼
目的是構建proB,但proB的編譯需要依靠proA的構建jar,只需要在proA構建成功後拷貝至proB的lib目錄下進行引用
2.build.xml如下
<?xml version="1.0" encoding="UTF-8"?><project name="proB" default="war" basedir="."> <property name="src.dir" value="src" /> <property name="lib.dir" value="WEB-INF/lib" /> <property name="web.dir" value="web" /> <property name="web-inf.dir" value="${web.dir}/WEB-INF" /> <property name="build.dir" value="build" /> <property name="dist.dir" value="dist" /> <property name="classes" value="build/classes"/> <property name="libjar.dir" value="lib" /> <property name="truck" value="../" /> <!--配置需要引用的jar包路徑--> <path id="project.classpath"> <fileset dir="${libjar.dir}"> <include name="**/*.jar" /> </fileset> <pathelement location="${build.dir}/classes" /> </path> <!--拷貝proA構建成功的jar包至lib目錄下--> <target name="copy" > <copy todir="${libjar.dir}" file="${truck}/proA/build/proA.jar" /> </target> <!-- 刪除build路徑--> <target name="clear" depends="copy"> <delete dir="${build.dir}" /> </target> <!-- 建立目錄結構 --> <target name="init" depends="clear"> <mkdir dir="${classes}" /> </target> <!-- 建立build/classes路徑,並編譯class檔案到build/classes路徑下--> <target name="compile" depends="init"> <javac srcdir="src" destdir="${classes}"> <compilerarg line="-encoding UTF-8 -verbose" /> <classpath refid="project.classpath" /> </javac> </target> <!--拷貝lib目錄下的jar包至web/WEB-INF/lib--> <target name="copyjar" depends="compile"> <copy todir="${web.dir}/${lib.dir}"> <fileset dir="${libjar.dir}"> </fileset> </copy> </target> <!-- 打war包--> <target name="war" depends="copyjar"> <war destfile="${dist}/tdtb.war" webxml="web/WEB-INF/web.xml"> <!-- 拷貝Web下檔案夾--> <fileset dir="${web.dir}"/> <!-- 拷貝lib目錄下的jar包--> <lib dir="${web.dir}/${lib.dir}" /> <!-- 拷貝build/classes下的class檔案--> <classes dir="${classes}"/> </war> </target></project>
3.構建成功後的war包結構
proB ···META-INF ···WEB-INF ···class ···lib ···web.xml ···redirect.jsp
具體參數參考
http://tech.it168.com/jd/2007-11-09/200711091344781_all.shtml