利用ant指令碼build.xml生成war包
阿新 • • 發佈:2022-01-24
使用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表示專案釋出後名稱--> <projectbasedir="." 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