古詩詞大全網 - 四字成語 - ant編譯build.xml文件

ant編譯build.xml文件

折騰了大半天,可算搗騰出來了,這裏需要提醒註意如下幾點:

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

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

3、可用eclipse導出war包,將lib目錄下的jar包放到壹個目錄下,然後直接引用,避免遺漏掉jar包沒導入進去。

以下是build.xml文件內容,安裝好ant後,直接執行ant build.xml即可打包。

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

<!-- 定義壹個工程,默認任務為warFile。 -->

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

<!-- 指定jdk 貌似這裏指定也沒什麽用~-->

<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文件時用到的jar包。 -->

<path id="project.lib">

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

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

</fileset>

</path>

<!-- 定義任務,清空任務:清空原有的class文件,創建新的build路徑。 -->

<target name="clean">

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

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

</target>

<!-- 定義任務,編譯src文件夾中的java文件,編譯後的class文件放到創建的文件夾下。 -->

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

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

<classpath refid="project.lib">

</classpath>

</javac>

</target>

<!-- 定義默認任務,將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包的對應路徑下。 -->

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

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

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

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

</fileset>

<!-- 將jar和class文件拷貝到war包的對應路徑下。 -->

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

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

<!-- 將資源文件拷貝進war對應路徑下 -->

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

</war>

</target>

</project>