1. 程式人生 > 其它 >利用ant指令碼build.xml生成war包

利用ant指令碼build.xml生成war包

使用eclipse匯出war包
1、在eclipse工作空間點選 [ File ] 選擇 [ Export ]

2、選中 [ Web ] 下面的 [ WAR file ],點選 [ Next ]

3、通過 [ Browse ] 選擇war包儲存路徑,點選 [ Finish ] 即可

使用ant匯出war包

最近想實現jenkins+ant命令一鍵打war包,部署到tomcat搭建測試環境,然後進行web自動化測試,結果發現java web專案中並沒有build.xml檔案,所以無法通過ant命令打war包。

而通過eclipse本身匯出的Ant Buildfiles(build.xml)檔案也一樣無法通過ant命令打war包,最終發現eclipse並沒有生成為此web應用程式建立war檔案的目標(target),所以只能手動新增打war包的指令碼程式碼,特此記錄一下。

步驟:

1、在eclipse工作空間點選 [ File ] 選擇 [ Export ],在 [ Export ] 對話方塊中,選擇 [ General ] > [Ant Buildfiles ],如下所示:

點選 [ Finish ] 完成build.xml檔案的建立

2、開啟build.xml配置檔案,在開始標記 <project> 的正下方自定義屬性,用來指明web專案下各檔案所在的路徑

<!--project中屬性:basedir表示當前專案基路徑,default表示啟動ant之後執行目標(必須的),name表示專案釋出後名稱-->
<project 
basedir="." default="getwar" name="Students"> <!--property元素,你可以把它們當成一些變數的定義,這是為了接下來引用的方便--> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.8"/> <property name="source" value="1.8"/>
<!--自定義部分--> <property name="build" value="${basedir}/build"/> <property name="build.class" value="${build}/classes"/> <property name="src" value="${basedir}/src"/> <property name="web" value="${basedir}/WebContent"/> <!--WebContent檔案路徑--> <property name="lib" value="${web}/WEB-INF/lib"/> <!--jar包路徑-->

並在末尾新增以下程式碼段,注意程式碼段應位於結束標記 </project> 的正上方

    <!--打成war包-->
    <target name="getwar" depends="build">
    <!--target表示執行目標,可以有多個target標籤,也可以通過depends依賴其他目標-->
    <!--補充target執行的順序是prepare->compile->run-->
        <echo message="打包成WAR"/>
        <war destfile="${basedir}/${ant.project.name}.war" webxml="${web}/WEB-INF/web.xml">
            <fileset dir="${web}"/>
            <lib dir="${lib}"/>
            <classes dir="${build.class}"/>
        </war>
    </target>

</project>

3、最後在web專案資料夾下開啟命令視窗(cmd.exe),執行 ant -f build.xml 命令完成war打包操作

推薦閱讀:https://www.cnblogs.com/wangchl/p/10282439.html