ant編譯build.xml文件

折騰了大半天,可算搗騰出來(lái)了,這里需要提醒注意如下幾點(diǎn):

1、如果jdk是1.6及以下,則需要使用的ant版本是1.9.x;

2、如果jdk是1.8,則需要使用ant版本是1.10.x;

3、可用eclipse導(dǎo)出war包,將lib目錄下的jar包放到一個(gè)目錄下,然后直接引用,避免遺漏掉jar包沒(méi)導(dǎo)入進(jìn)去。

以下是build.xml文件內(nèi)容,安裝好ant后,直接執(zhí)行ant build.xml即可打包。


<?xml version="1.0" encoding="UTF-8"?>

<!-- 定義一個(gè)工程,默認(rèn)任務(wù)為warFile。 -->

<project name="bing-info" default="warFile" basedir=".">


? ? <!-- 指定jdk 貌似這里指定也沒(méi)什么用~-->

? ? <property name="env.JAVA_HOME" value="C:/Program Files/Java/jdk1.8.0_101"/>

? ? <!-- 定義屬性,打成war包的名稱。 -->

? ? <property name="warFileName" value="nbAPP.war"></property>


? ? <!-- 指定war包路徑及依賴包路徑? ?這里需要指定工程的路徑 -->

? ? <property name="compilePath" value="D:/project/nbAPP"/>


? ? <!-- 定義路徑,編譯java文件時(shí)用到的jar包。 -->

? ? <path id="project.lib">

? ? ? ? <fileset dir="${basedir}/lib">

? ? ? ? ? ? <include name="**/*.jar"/>

? ? ? ? </fileset>

? ? </path>

? ? <!-- 定義任務(wù),清空任務(wù):清空原有的class文件,創(chuàng)建新的build路徑。 -->

? ? <target name="clean">

? ? ? ? <delete dir="${compilePath}/build" />

? ? ? ? <mkdir dir="${compilePath}/build" />

? ? </target>


? ? <!-- 定義任務(wù),編譯src文件夾中的java文件,編譯后的class文件放到創(chuàng)建的文件夾下。 -->

? ? <target name="compile" depends="clean">

? ? ? ? <javac srcdir="${basedir}/src/main" debug="true" includeantruntime="false" encoding="UTF-8" >

? ? ? ? ? ? <classpath refid="project.lib">

? ? ? ? ? ? </classpath>


? ? ? ? </javac>

? ? </target>


? ? <!-- 定義默認(rèn)任務(wù),將class文件集合成jar包。 -->

? ? <target name="warFile" depends="compile">

? ? ? ? <!-- 刪除原有war包。 -->

? ? ? ? <delete dir="${compilePath}/${warFileName}" />

? ? ? ? <!-- 建立新war包。 -->

? ? ? ? <war destfile="${compilePath}/${warFileName}" webxml="${basedir}/WebRoot/WEB-INF/web.xml">

? ? ? ? ? ? <!-- 將非jar和非class文件拷貝到war包的對(duì)應(yīng)路徑下。 -->

? ? ? ? ? ? <fileset dir="${basedir}/WebRoot">

? ? ? ? ? ? ? ? <include name="**/**.*" />

? ? ? ? ? ? ? ? <exclude name="**/*.jar"/>

? ? ? ? ? ? ? ? <include name="WEB-INF/classes/**"/>

? ? ? ? ? ? </fileset>

? ? ? ? ? ? <!-- 將jar和class文件拷貝到war包的對(duì)應(yīng)路徑下。 -->

? ? ? ? ? ? <lib dir="${compilePath}/lib" />

? ? ? ? ? ? <classes dir="${compilePath}/build" />

? ? ? ? ? ? <!-- 將資源文件拷貝進(jìn)war對(duì)應(yīng)路徑下 -->

? ? ? ? ? ? <classes dir="${basedir}/src/main/resources" />

? ? ? ? </war>

? ? </target>

</project>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ANT build.xml文件詳解(一) Ant的概念 可能有些讀者并不連接什么是Ant以及入可使用它,但只要使用...
    SkTj閱讀 4,166評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評(píng)論 6 342
  • 簡(jiǎn)介 Apache Ant是一個(gè)Java庫(kù)和命令行工具,其任務(wù)是將構(gòu)建文件中描述的進(jìn)程作為相互依賴的目標(biāo)和擴(kuò)展點(diǎn)。...
    我為峰2014閱讀 4,865評(píng)論 0 6
  • 轉(zhuǎn)載自:https://www.cnblogs.com/pixy/p/4792887.html Ant的由來(lái)(序)...
    SkTj閱讀 3,872評(píng)論 0 4

友情鏈接更多精彩內(nèi)容