ant實現java項目自動構建並打包war

來源:互聯網
上載者:User
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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.