Ant使用小結(總結以利提高系列)

屬性
<property name="key" value="value"/>
依賴關係
<target name="" depends=""/>
depends中各個target name以逗號分隔
運行Ant:
 ant -buildfile build.xml targetName1 targetName2
 ant -projecthelp查看該配置文件中支持的target名稱,以及各個target的描述
ant -Dbasedir=javasource設置屬性值,這個功能可用於覆蓋生成文件中的初始屬性設置,屬性的值一經設置就不能修改,-D標誌在讀取生成文件中的任何信息之前設置某個屬性,之後生成文件中的指派不會改變這個初始指派指定的值。


Ant任務列表(不斷補充中):
JavaC:
 <javac srcdir="" destdir="" classpath="" debug="true|false"/>
 或者對於有多個Jar需要放到classpath中時
 <javac srcdir = "" destdir=" >
   <classpath>
      <fileset dir="">
         <include name="**/*.jar"/>
      </fileset>
     </classpath>
   </javac>
JavaDoc:
 <target name="javaDoc" depends="cleanDoc">
  <javadoc packagenames="com.ecc.ebank.dummy.client.*"
                 sourcepath="${srcDir}"
                 defaultexcludes="yes"
                 destdir="${docDir}"
                 author="true"
                 version="true"
                 use="true"
                 windowtitle="Simulator API Docs">
              <classpath>
           <fileset dir="jars">
          <include name="**/*.jar"/>
      </fileset>
     </classpath>
             <doctitle><![CDATA[<h1>Simulator API DOC</h1>]]></doctitle>
             <bottom><![CDATA[<i>All right reversed by tsimgsong</i>]]></bottom>
             <tag name="todo." scope="all" description="To do:" />
         </javadoc>
</target>
Jar
 <jar destfile="" basedir=""/>
 文件系統操作:
  <mkdir dir=""/>
  <delete dir=""/>
  <copy file="" tofile=""/>
  <copy file="" todir=""/>

  <copy todir="">
     <fileset dir="">
         <include name=""/>
  <exclude name=""/>
     </fielset>
   </copy>

  <move file="" todir=""/>
  <zip destfile="" basedir=""/>
  <gzip src="" zipfile=""/>
  <unzip src="" dest=""/>
  <war destfile="" basedir="" webxml=""/>
  <replace file="" token="" value="" summary="true|false"/> summary用來確定是否顯示顯示替換的結果
Ant支持自己編寫增加job

 

<?xml version="1.0" encoding="GB2312"?>

<project name="project" default="war">
    <description>
        Script to make war package
        Version:1.0
        Date:2007-8-9                                                     
        Project Name:Hangzhou project
        Author:tsimgsong  [email protected]                                         
  </description>
 <property name="RELEASE_DIR" value="../." />
 <property name="WEB_DIR" value="./WebContent" />
 <property name="LIANACORE" value="../hzlianaCore" />
 <property name="HZCB_LIB" value="${WEB_DIR}/WEB-INF/lib"/>


    <target name="package" depends="compilehzcb">

 </target>

 <!-- - - - - - - - - - - - - - - - - -
          target: init 初始化
         - - - - - - - - - - - - - - - - - -->
 <target name="init" description="clean applications env.delete the directories created by compile">
  <tstamp>
   <format property="TODAY" pattern="yyyyMMdd" locale="cn" />
  </tstamp>
  <!-- 環境構建 -->
  <delete dir="${LIANACORE}/bin"/>
  <delete dir="${WEB_DIR}/WEB-INF/classes"/>
  <mkdir dir="${LIANACORE}/bin"/>
  <mkdir dir="${WEB_DIR}/WEB-INF/classes"/>
  
 </target>

 <target name="compileLianaCore" depends="init" description="compile LianaCore JavaSource">
     <javac srcdir="${LIANACORE}/JavaSource" destdir="${LIANACORE}/bin">
        <classpath>
       <fileset dir="${LIANACORE}/lib">
       <include name="**/*.jar"/>
    </fileset>
      </classpath>
  </javac>
 </target>

 <target name="dist" depends="compileLianaCore" description="Jar LianaCore to corporbank application'w WEB-INF/LIB">
     <jar destfile="${WEB_DIR}/WEB-INF/lib/lianaCore.jar" basedir="${LIANACORE}/bin">
            <manifest>
       <attribute name="Built-By" value="${user.name}"/>
      </manifest>
  </jar>
    </target>

 <target name="cleanLianaCore" depends="dist" description="clean LianaCore project">
     <delete dir="${LIANACORE}/bin"/>
 </target>

 <target name="compilehzcb" depends="cleanLianaCore" description="compile corporbank application">    
        <javac srcdir="./JavaSource" destdir="${WEB_DIR}/WEB-INF/classes">
      <classpath>
     <fileset dir="${HZCB_LIB}">
        <include name="**/*.jar"/>
     </fileset>
   </classpath>
  </javac>
 </target>

 <target name="war" depends="compilehzcb" description="package corporbank application to a war after compiled lianacore and corporbank application">
  <war destfile="../hzbank.war" basedir="${WEB_DIR}" webxml="d:/data/workspace/eclipse/web.xml" duplicate="preserve">   
  </war>
 </target>
 <target name="onlywar" description="only package corporbank application to a war without applications compiling">
  <war destfile="../hzbank.war" basedir="${WEB_DIR}" webxml="d:/data/workspace/eclipse/web.xml" duplicate="preserve">   
  </war>
 </target>
 
</project>

 使用ant -projecthelp查看所有target信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章