3. 使用Ant的jar任務生成jar文件
讀者可以在上例的基礎上更進一步,來生成jar包,可在run這個target下再加上如下target:
<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
</target>
此時將ant的project的default屬性設置爲jar,同時運行該build.xml文件,運行完畢後,可看到在工程目錄下生成了一個jar包HelloWorld.jar。
4. 使用Ant的war任務打包J2EE Web項目
建立一個J2EE Web工程,其目錄結構如下圖所示:
其中src爲源代碼目錄,WebRoot爲各jsp存放目錄,lib爲工程的包目錄。在antwebproject工程目錄下建立了build.xml文件,該文件爲該工程的Ant構件文件。讀者可以src目錄下放入在前續例子中開發的HelloWorld.java文件,並在WebRoot下建立index.jsp文件,其內容很簡單,就是輸出Hello信息,代碼如下所示:
<%@ page language="java" contentType="text/html; charset="UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>ant打包測試</title>
</head>
<body>
Hello,Ant
</body>
</html>
接下來編寫build.xml文件,其內容如下:
<?xml version="1.0"?>
<project name="antwebproject" default="war"basedir=".">
<property name="classes" value="build/classes"/>
<property name="build"value="build"/>
<property name="lib"value="WebRoot/WEB-INF/lib"/>
<!-- 刪除build路徑-->
<target name="clean">
<delete dir="build"/>
</target>
<!-- 建立build/classes路徑,並編譯class文件到build/classes路徑下-->
<target name="compile" depends="clean">
<mkdir dir="${classes}"/>
<javac srcdir="src" destdir="${classes}"/>
</target>
<!-- 打war包-->
<target name="war" depends="compile">
<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
<!-- 拷貝WebRoot下除了WEB-INF和META-INF的兩個文件夾-->
<fileset dir="WebRoot" includes="**/*.jsp"/>
<!-- 拷貝lib目錄下的jar包-->
<lib dir="${lib}"/>
<!-- 拷貝build/classes下的class文件-->
<classesdir="${classes}"/>
</war>
</target>
</project>
各target的作用在內容中已經進行說明,在此不再贅述。運行該build文件,更新目錄後,可看到在build目錄下生成了antwebproject.war文件,解開後可看到其目錄結構如下:
--META-INF
--MANIFEST.MF
--index.jsp
--WEB-INF
--lib
--log4j-1.2.9.jar
--classes
--HelloWorld.class
--web.xml
讀者可以將該war包拷貝到Tomcat的目錄下看一下運行結果。
五. 總結
在本文中,筆者由淺至深詳細描述了Ant的安裝與配置、關鍵元素和常用任務。並通過實例講述了Ant在我們Java項目中的應用,講述了編譯、運行java程序,以及打jar包、war包等知識,引領讀者進入Ant的奇妙世界。在本文中可以看到,Ant在自動構建和部署Java程序方面方便易用,而且非常靈活,不失爲我們Java開發者的絕佳幫手