利用ant進行編譯和發布項目

來源:互聯網
上載者:User

標籤:

本文通過一個樣本來解說如何通過ant進行編譯和發布項目。
本例按如下目錄結構來組織項目。

D:/web/antsample項目根目錄D:/web/antsample/src原始碼目錄D:/web/antsample/src/sample/HelloWorld.java樣本HelloWorld代碼檔案D:/web/antsample/app應用程式目錄D:/web/antsample/app/index.jsp預設首頁檔案D:/web/antsample/app/WEB-INFD:/web/antsample/app/WEB-INF/web.xml應用程式描述檔案D:/web/antsample/app/WEB-INF/lib應用程式庫目錄D:/web/antsample/context.xml應用程式環境設定檔,資料來源、應用程式路徑(path)、文檔路徑(docBase)等資訊在此配置。D:/web/antsample/build.xml

 


build.xml 檔案內容

<?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"/> <!-- 應用程式目錄 --> <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"/> <!-- 設定jdk1.5編譯器的全路徑 --> <property name="jdk1.6" value="/usr/lib/jvm/jdk1.6/bin/javac"/> <!-- 設定jdk1.6編譯器的全路徑 --> <property name="javaCompiler" value="${jdk1.6}"/> <!-- 編譯時間使用的javac --> <!-- 設定 classpath,即編譯時間需要引用的庫檔案 --> <path id="classpath"> <fileset dir="${web.home}/WEB-INF/lib"> <!-- 引用應用程式WEB-INF/lib下的所有jar -->    <include name="**/*.jar"/> </fileset> <fileset dir="${tomcat.home}/lib"> <!-- 引用Tomcat/lib下的所有jar -->    <include name="**/*.jar"/> </fileset>   </path> <!-- 清除已經產生的class檔案 -->   <target name="clean"> <delete> <fileset dir="${src.home}" includes="**/*.class"/> </delete>   </target> <!-- 編譯src.home下的所有java檔案。fork被設定為true,這樣可指定編譯使用的JDK,此處使用jdk1.5。必鬚根據java源檔案的編碼來設定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放置在應用程式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>  <!-- 布置應用程式到Tomcat --> <target name="deploy"> <copy file="${srcDeployFile}" tofile="${distDeployFile}"/> </target> <!-- 從Tomcat上卸載應用程式 --> <target name="undeploy"> <delete file="${distDeployFile}"/> </target></project>


 
運行本例,您必須修改build.xml中tomcat目錄的全路徑和context.xml中的相應資訊。
進入D:/web/antsample,輸入ant命令,即可編譯器,並將其產生的class檔案打包成jar,布置到app/WEB-INF/lib下。
運行ant deploy 即可拷貝context.xml到Tomcat/conf/Catalina/localhost/antsample.xml,完成程式的布置。
運行ant undeploy 即可刪除Tomcat/conf/Catalina/localhost/antsample.xml檔案完成程式的卸載。

現在您可以輸入 http://localhost:8080/antsample 來訪問例子程式了。

利用ant進行編譯和發布項目

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.