- ant環境搭建
- apache官網下載ant解壓
- 配置環境變量
- ant腳本編寫(標籤[一部分])
- <project>標籤
- name 項目名稱
- default 默認執行的target
- basedir 項目基準路徑
- description 描述
- <property>元素
- name 定義的屬性名
- value 定義的屬性值
- file 通過屬性文件導入屬性
- <target>標籤
- name target名
- depends 依賴的target
- if unless 邏輯判斷是否執行
- description 描述
- <mkdir>標籤
- dir 要創建的目錄名
- <jar>標籤
- destfile 生成的jar文件名字
- basedir 被歸檔的目錄
- includes 被歸檔的文件模式
- excludes 被排除的文件模式
- <javac標籤>
- srcdir 源程序目錄
- destdir class文件輸出目錄
- includes 被編譯的文件模式
- excludes 被排除的文件模式
- classpath 使用的類路徑(編譯需要的依賴第三方庫)
- debug 調試信息
- optimize 是否使用優化[]
- fileonerror 遇到錯誤是否停止
- <java>標籤
- classname 將執行的類名
- jar 包含該類的jar文件
- classpath 使用的類路徑(編譯需要的依賴第三方庫)
- fork 在一個新的虛擬機中運行該類
- output 輸出文件
- appended 追加或者覆蓋默認文件
- <delete>標籤
- file 要刪除的文件
- dir 要刪除的目錄
- includeEmptyDirs 是否對空目錄進行該操作
- verbose 是否列出刪除的文件
- <copy>標籤
- file 源文件
- tofile 目標文件
- todir 目標文件夾
- overwrite 是否覆蓋目標文件
- <war>標籤
- destfile 生成的文件名
- dir 被歸檔的文件目錄
- <echo>標籤
- 輸出message
- <project>標籤
- ant數據類型
- argument 類型
- values 是一個命令參數。如果參數中有空格,但又想將它作爲單獨一個值,則使用此屬性。
- file表示一個參數的文件名。在構建文件中,此文件名相對於當前的工作目錄。
- line表示用空格分隔的多個參數列表。
- path表示路徑
- ervironment 類型
- file表示環境變量值的文件名。此文件名要被轉換位一個絕對路徑。
- path表示環境變量的路徑。Ant會將它轉換爲一個本地約定。
- value 表示環境變量的一個直接變量。
- key 表示環境變量名。
- filelist類型
- dir是用於計算絕對文件名的目錄。
- files 是用逗號分隔的文件名列表。
- refid 是對某處定義的一個<filelist>的引用。
- fileset類型
- dir表示fileset 的基目錄。
- casesensitive的值如果爲false,那麼匹配文件名時,fileset不是區分大小寫的,其默認值爲true.
- defaultexcludes 用來確定是否使用默認的排除模式,默認爲true。
- excludes 是用逗號分隔的需要派出的文件模式列表。
- excludesfile 表示每行包含一個排除模式的文件的文件名。
- includes 是用逗號分隔的,需要包含的文件模式列表。
- includesfile 表示每行包括一個包含模式的文件名。
- patternset 類型:fileset 是對文件的分組,而patternset是對模式的分組,他們是緊密相關的概念。<patternset>支持4個屬性:includes excludex includexfile 和 excludesfile,與fileset相同。Patternset 還允許以下嵌套元素:include,exclude,includefile 和 excludesfile.
- filterset 類型
- begintoken 表示嵌套過濾器所搜索的記號,這是標識其開始的字符串。
- endtoken表示嵌套過濾器所搜索的記號這是標識其結束的字符串。
- id是過濾器的唯一標誌符。
- refid是對構建文件中某處定義一個過濾器的引用。
- Path類型
- location 表示一個文件或目錄。Ant在內部將此擴展爲一個絕對路徑。
- refid 是對當前構建文件中某處定義的一個path的引用。
- path表示一個文件或路徑名列表。
- mapper類型
- classname 表示實現mapper類的類名。當內置mapper不滿足要求時,用於創建定製mapper.
- classpath表示查找一個定製mapper時所用的類型路徑。
- classpathref是對某處定義的一個類路徑的引用。
- from屬性的含義取決於所用的mapper.
- to屬性的含義取決於所用的mapper.
- type屬性的取值爲identity,flatten glob merge regexp 其中之一,它定義了要是用的內置mapper的類型。
- argument 類型
- ant擴展(自定義TASK)
- 繼承org.apache.tools.Task;
- 覆寫public void execute()throws BuildException;
- 在類中添加的屬性即爲任務標籤的屬性;
- 在build.xml中聲明任務<taskdef name=" " classname=" " classpath="bin"/>
- ant用法示例
<?xml version="1.0" encoding='gbk'?>
<project name="proName" default="first" basedir=".">
<description>description</description>
<tstamp prefix="start" />
<tstamp>
<format property="compile.timestamp" pattern="yyyy-MM-dd HH.mm.ss" />
</tstamp>
<!-- set global properties for this build -->
<property file="build.properties" />
<target name="init" description="create timestamp and directories">
<echo>Init...</echo>
<tstamp />
<delete dir="classes" />
<delete dir="${distlib}" />
<mkdir dir="classes" />
<mkdir dir="${distlib}" />
</target>
<!-- copy-jars -->
<target name="copy-jars" depends="init" description="copy required jars">
<mkdir dir="${distlib}/WEB-INF/lib" />
<copy todir='${distlib}/WEB-INF/lib'>
<!-- jars -->
<fileset file="${jarPath}/validation-api-1.0.0.GA-sources.jar"/>
<fileset dir="${jarPath}/war/WEB-INF/lib" >
<include name="gwtexporter-2.4.0-M1.jar"/>
</fileset>
</copy>
</target>
<target name="jars" depends="copy-jars" >
<jar destfile='${distlib}/WEB-INF/lib/jarName.jar'>
<fileset dir="${projectName}/src">
<include name="com/**"/>
<include name="i18n/**"/>
</fileset>
</jar>
</target>
<!-- copy-conf -->
<target name="copy-conf" depends="jars" description="copy-conf">
<mkdir dir="${distlib}/WEB-INF/conf" />
<copydir dest="${distlib}/WEB-INF/conf" src="${project}/conf"/>
</target>
<target name="copy-file" depends="copy-conf" >
<copy todir='${distlib}'>
<fileset dir="${projectName}/war">
<exclude name="database/"/>
</fileset>
</copy>
</target>
<!-- gwt-compile -->
<target name="gwt-compile" depends="copy-file" description="Compile to JavaScript">
<java classname="com.google.gwt.dev.Compiler" fork="yes" failοnerrοr="true" maxmemory="512m" >
<classpath>
<pathelement location="${projectName}/src" />
<fileset dir="${distlib}/WEB-INF/lib/" />
<pathelement location="${gwt.home}/gwt-user.jar" />
<pathelement location="${gwt.home}/gwt-dev.jar" />
</classpath>
<arg value="-style"/>
<arg value="OBFUSCATED"/>
<arg value="${gwt.module.id}" />
<arg value="-war"/>
<arg value="${distlib}"/>
</java>
</target>
<target name="first" depends="gwt-compile" description="build war package" />
</project>