本文通過一個(gè)示例來解說如何通過ant進(jìn)行編譯和發(fā)布項(xiàng)目。
本例按如下目錄結(jié)構(gòu)來組織項(xiàng)目。
D:/web/antsample項(xiàng)目根目錄
D:/web/antsample/src源代碼目錄
D:/web/antsample/src/sample/HelloWorld.java示例HelloWorld代碼文件
D:/web/antsample/app應(yīng)用程序目錄
D:/web/antsample/app/index.jsp默認(rèn)首頁(yè)文件
D:/web/antsample/app/WEB-INF
D:/web/antsample/app/WEB-INF/web.xml應(yīng)用程序描述文件
D:/web/antsample/app/WEB-INF/lib應(yīng)用程序庫(kù)目錄
D:/web/antsample/context.xml應(yīng)用程序環(huán)境配置文件,數(shù)據(jù)源、應(yīng)用程序路徑(path)、文檔路徑(docBase)等信息在此配置。
D:/web/antsample/build.xml
build.xml 文件內(nèi)容
<?xml version="1.0" encoding="UTF-8"?>
<project name="antsample" default="jar" basedir=".">
<property environment="env"/>
<echo message="Ant 版本 ${ant.java.version}"/>
<property name="tomcat.home" value="/home/xiaojf/tomcat6"/> <!-- tomcat目錄 -->
<property name="web.home" value="./app"/> <!-- 應(yīng)用程序目錄 -->
<property name="src.home" value="./src"/> <!-- java源文件目錄 -->
<property name="jarFile" value="${web.home}/WEB-INF/lib/${ant.project.name}.jar"/> <!-- jar文件位置 -->
<property name="warFile" value="./${ant.project.name}.war"/> <!-- war文件位置 -->
<property name="srcDeployFile" value="./context.xml"/> <!-- 源部署文件 -->
<property name="distDeployFile" value="${tomcat.home}/conf/Catalina/localhost/${ant.project.name}.xml"/> <!-- 源部署文件 -->
<property name="jdk1.5" value="/usr/lib/jvm/jdk1.5/bin/javac"/> <!-- 設(shè)置jdk1.5編譯器的全路徑 -->
<property name="jdk1.6" value="/usr/lib/jvm/jdk1.6/bin/javac"/> <!-- 設(shè)置jdk1.6編譯器的全路徑 -->
<property name="javaCompiler" value="${jdk1.6}"/> <!-- 編譯時(shí)使用的javac -->
<!-- 設(shè)置 classpath,即編譯時(shí)需要引用的庫(kù)文件 -->
<path id="classpath">
<fileset dir="${web.home}/WEB-INF/lib"> <!-- 引用應(yīng)用程序WEB-INF/lib下的所有jar -->
<include name="**/*.jar"/>
</fileset>
<fileset dir="${tomcat.home}/lib"> <!-- 引用Tomcat/lib下的所有jar -->
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 清除已經(jīng)生成的class文件 -->
<target name="clean">
<delete>
<fileset dir="${src.home}" includes="**/*.class"/>
</delete>
</target>
<!-- 編譯src.home下的所有java文件。fork被設(shè)置為true,這樣可指定編譯使用的JDK,此處使用jdk1.5。必須根據(jù)java源文件的編碼來設(shè)置encoding。 -->
<target name="compile" depends="clean">
<javac srcdir="${src.home}"
debug="on"
deprecation="on"
optimize="off"
includes="**"
includeantruntime="on"
encoding="UTF-8"
fork="yes"
executable="${javaCompiler}"
>
<classpath refid="classpath"/>
<compilerarg value="-Xlint:unchecked"/>
</javac>
</target>
<!-- 打包,并將jar放置在應(yīng)用程序WEB-INF/lib下。 -->
<target name="jar" depends="compile">
<jar destfile="${jarFile}"
basedir="${src.home}"
includes="**/*.class **/*.xml"/>
</target>
<target name="war" depends="jar">
<war destfile="${warFile}"
basedir="${web.home}"/>
</target>
<!-- 布置應(yīng)用程序到Tomcat -->
<target name="deploy">
<copy file="${srcDeployFile}" tofile="${distDeployFile}"/>
</target>
<!-- 從Tomcat上卸載應(yīng)用程序 -->
<target name="undeploy">
<delete file="${distDeployFile}"/>
</target>
</project>
運(yùn)行本例,您必須修改build.xml中tomcat目錄的全路徑和context.xml中的相應(yīng)信息。
進(jìn)入D:/web/antsample,輸入ant命令,即可編譯程序,并將其生成的class文件打包成jar,布置到app/WEB-INF/lib下。
運(yùn)行ant deploy 即可拷貝context.xml到Tomcat/conf/Catalina/localhost/antsample.xml,完成程序的布置。
運(yùn)行ant undeploy 即可刪除Tomcat/conf/Catalina/localhost/antsample.xml文件完成程序的卸載。
現(xiàn)在您可以輸入 http://localhost:8080/antsample 來訪問例子程序了。
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
29 | 30 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
長(zhǎng)春語林科技?xì)g迎您!
常用鏈接
留言簿(6)
隨筆分類
- ajax(2)
- android(5)
- css(2)
- db2(2)
- docker(10)
- flex(22)
- hibernate(16)
- html5(9)
- java(12)
- java8(8)
- jquery(4)
- js(30)
- jsp(2)
- jstl(3)
- linux(14)
- mongodb(1)
- mui(1)
- mysql(14)
- oracle(3)
- spring(8)
- sqlserver(4)
- struts(9)
- struts2(13)
- tomcat(6)
- UML(1)
- util(50)
- vue(1)
- weblogic(1)
隨筆檔案
- 2020年4月 (1)
- 2020年3月 (1)
- 2020年2月 (2)
- 2019年10月 (2)
- 2019年9月 (1)
- 2019年7月 (1)
- 2019年4月 (1)
- 2019年1月 (1)
- 2018年12月 (2)
- 2018年8月 (1)
- 2018年6月 (3)
- 2018年5月 (9)
- 2018年3月 (9)
- 2017年12月 (1)
- 2017年10月 (1)
- 2017年7月 (1)
- 2017年6月 (1)
- 2017年5月 (1)
- 2017年3月 (3)
- 2017年2月 (2)
- 2017年1月 (1)
- 2016年12月 (1)
- 2016年11月 (1)
- 2016年9月 (1)
- 2016年4月 (3)
- 2016年3月 (2)
- 2015年8月 (5)
- 2015年3月 (1)
- 2014年8月 (1)
- 2012年11月 (1)
- 2012年5月 (2)
- 2012年4月 (5)
- 2011年12月 (1)
- 2011年10月 (3)
- 2011年9月 (2)
- 2011年8月 (10)
- 2011年7月 (3)
- 2011年6月 (4)
- 2011年5月 (2)
- 2011年4月 (3)
- 2011年3月 (12)
- 2011年1月 (2)
- 2010年12月 (1)
- 2010年9月 (2)
- 2010年8月 (4)
- 2010年6月 (1)
- 2010年4月 (1)
- 2010年3月 (1)
- 2009年11月 (1)
- 2009年9月 (2)
- 2009年8月 (1)
- 2009年7月 (2)
- 2009年6月 (1)
- 2009年5月 (3)
- 2009年4月 (8)
- 2009年3月 (5)
- 2009年2月 (4)
- 2009年1月 (2)
- 2008年12月 (10)
- 2008年11月 (2)
- 2008年9月 (10)
- 2008年8月 (12)
- 2008年7月 (12)
- 2008年6月 (3)
- 2008年5月 (53)
文章分類
文章檔案
相冊(cè)
收藏夾
搜索
最新評(píng)論

- 1.?re: js 操作文件[未登錄]
- 00
- --00
- 2.?re: s:bean.jsp
- fdfdsa
- --dfasdf
- 3.?re: hibernate 常用標(biāo)識(shí)生成器
- 藝達(dá)廣告歡迎您
- --藝達(dá)廣告
- 4.?re: linux mod_jk.so 下載[未登錄]
- 3Q!
- --me
- 5.?re: weblogic參數(shù)設(shè)置[未登錄]
- 垃圾
- --xx