Ant 入門(mén)簡(jiǎn)單使用的詳解
第一步:設(shè)置下系統(tǒng)環(huán)境變量中的path=D:\apache-ant-1.6.5\bin (你的ant安裝路徑)
第二步:就可以在cmd的控制臺(tái)上輸入ant 回車(chē)就可以看到有提示什么文件不存在了
第三步:當(dāng)然是最重要的、最麻煩的一步了,配置build.xml文件。
我這里做了一個(gè)簡(jiǎn)單的template,也是常常用到的。廢話不說(shuō)了自己看吧。
附:常用的標(biāo)簽和數(shù)據(jù)類(lèi)型詳解 如下:
1.<project>標(biāo)簽每個(gè)構(gòu)建文件對(duì)應(yīng)一個(gè)項(xiàng)目。<project>標(biāo)簽時(shí)構(gòu)建文件的根標(biāo)簽。它可以有多個(gè)內(nèi)在屬性,就如代碼中所示,其各個(gè)屬性的含義分別如下。
(1) default表示默認(rèn)的運(yùn)行目標(biāo),這個(gè)屬性是必須的。
(2) basedir表示項(xiàng)目的基準(zhǔn)目錄。
(3) name表示項(xiàng)目名。
(4) description表示項(xiàng)目的描述。每個(gè)構(gòu)建文件都對(duì)應(yīng)于一個(gè)項(xiàng)目,但是大型項(xiàng)目經(jīng)常包含大量的子項(xiàng)目,每一個(gè)子項(xiàng)目都可以有自己的構(gòu)建文件。
2.<target>標(biāo)簽一個(gè)項(xiàng)目標(biāo)簽下可以有一個(gè)或多個(gè)target標(biāo)簽。一個(gè)target標(biāo)簽可以依賴(lài)其他的target標(biāo)簽。例如,有一個(gè)target用于編譯程序,另一個(gè)target用于聲稱(chēng)可執(zhí)行文件。在生成可執(zhí)行文件之前必須先編譯該文件,因策可執(zhí)行文件的target依賴(lài)于編譯程序的target。Target的所有屬性如下。
(1) name表示標(biāo)明,這個(gè)屬性是必須的。
(2) depends表示依賴(lài)的目標(biāo)。
(3) if表示僅當(dāng)屬性設(shè)置時(shí)才執(zhí)行。
(4) unless表示當(dāng)屬性沒(méi)有設(shè)置時(shí)才執(zhí)行。
(5) description表示項(xiàng)目的描述。
3.<javac>標(biāo)簽該標(biāo)簽用于編譯一個(gè)或一組java文件,其屬性如下:
(1).srcdir表示源程序的目錄。
(2).destdir表示class文件的輸出目錄。
(3).include表示被編譯的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的類(lèi)路徑。
(6).debug表示包含的調(diào)試信息。
(7).optimize表示是否使用優(yōu)化。
(8).verbose 表示提供詳細(xì)的輸出信息。
(9).fileonerror表示當(dāng)碰到錯(cuò)誤就自動(dòng)停止。
4.<java>標(biāo)簽該標(biāo)簽用來(lái)執(zhí)行編譯生成的.class文件,其屬性如下。
(1).classname 表示將執(zhí)行的類(lèi)名。
(2).jar表示包含該類(lèi)的JAR文件名。
(3).classpath所表示用到的類(lèi)路徑。
(4).fork表示在一個(gè)新的虛擬機(jī)中運(yùn)行該類(lèi)。
(5).failonerror表示當(dāng)出現(xiàn)錯(cuò)誤時(shí)自動(dòng)停止。
(6).output 表示輸出文件。
(7).append表示追加或者覆蓋默認(rèn)文件。
5. fileset類(lèi)型Fileset 數(shù)據(jù)類(lèi)型定義了一組文件,并通常表示為<fileset>元素。不過(guò),許多ant任務(wù)構(gòu)建成了隱式的fileset,這說(shuō)明他們支持所有的fileset屬性和嵌套元素。以下為fileset 的屬性列表。
(1).dir表示fileset 的基目錄。
(2).casesensitive的值如果為false,那么匹配文件名時(shí),fileset不是區(qū)分大小寫(xiě)的,其默認(rèn)值為true。
(3).defaultexcludes 用來(lái)確定是否使用默認(rèn)的排除模式,默認(rèn)為true。
(4).excludes 是用逗號(hào)分隔的需要派出的文件模式列表。
(5).excludesfile 表示每行包含一個(gè)排除模式的文件的文件名。
(6).includes 是用逗號(hào)分隔的,需要包含的文件模式列表。
(7).includesfile 表示每行包括一個(gè)包含模式的文件名。
6. Path類(lèi)型Path元素用來(lái)表示一個(gè)類(lèi)路徑,不過(guò)它還可以用于表示其他的路徑。在用作某個(gè)屬性時(shí),路經(jīng)中的各項(xiàng)用分號(hào)或冒號(hào)隔開(kāi)。在構(gòu)建的時(shí)候,此分隔符將代替當(dāng)前平臺(tái)中所有的路徑分隔符,其擁有的屬性如下。
(1).location 表示一個(gè)文件或目錄。Ant在內(nèi)部將此擴(kuò)展為一個(gè)絕對(duì)路徑。
(2).refid 是對(duì)當(dāng)前構(gòu)建文件中某處定義的一個(gè)path的引用。
(3).path表示一個(gè)文件或路徑名列表。
第二步:就可以在cmd的控制臺(tái)上輸入ant 回車(chē)就可以看到有提示什么文件不存在了
第三步:當(dāng)然是最重要的、最麻煩的一步了,配置build.xml文件。
我這里做了一個(gè)簡(jiǎn)單的template,也是常常用到的。廢話不說(shuō)了自己看吧。
1
<?xml version="1.0" encoding="gb2312" ?>
2
<project name="spring" basedir="." default="run"> <!--這里的default定義的表示 在cmd控制臺(tái)中直接輸入ant回車(chē)后就直接執(zhí)行target name=run的這一步-->
3
<path id="classpath"> <!--被引用的jar包或class文件的定義,后面要用到它-->
4
5
<fileset dir="E:\sshlib"> <!-- 程序要用的jar包都放在了e盤(pán)的sshlib目錄下-->
6
<include name="*.jar"/>
7
</fileset>
8
<pathelement path="."/> <!--當(dāng)前目錄中的class的引用-->
9
</path>
10
11
<target name="compile" description="Compile all source code">
12
<javac destdir="." debug="true"
13
deprecation="false" optimize="false" failonerror="true"> <!--destdir定義了編譯后的存放位置在當(dāng)前目錄-->
14
<src path="."/> <!--源文件的路徑在當(dāng)前目錄-->
15
<classpath refid="classpath"/> <!--就是這里了,引用了上面的定義的包路徑-->
16
</javac>
17
</target>
18
19
<target name="run" description="run the main class" depends="compile"> <!-- 執(zhí)行帶main的class 前提是上面的compile已經(jīng)正確執(zhí)行過(guò)了-->
20
<java classname="ybc.FactroyTest" fork="yes" failonerror="true"> <!-- 注意這里ybc對(duì)應(yīng)的是class中package的包名-->
21
<classpath refid="classpath"/>
22
</java>
23
</target>
24

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

附:常用的標(biāo)簽和數(shù)據(jù)類(lèi)型詳解 如下:
1.<project>標(biāo)簽每個(gè)構(gòu)建文件對(duì)應(yīng)一個(gè)項(xiàng)目。<project>標(biāo)簽時(shí)構(gòu)建文件的根標(biāo)簽。它可以有多個(gè)內(nèi)在屬性,就如代碼中所示,其各個(gè)屬性的含義分別如下。
(1) default表示默認(rèn)的運(yùn)行目標(biāo),這個(gè)屬性是必須的。
(2) basedir表示項(xiàng)目的基準(zhǔn)目錄。
(3) name表示項(xiàng)目名。
(4) description表示項(xiàng)目的描述。每個(gè)構(gòu)建文件都對(duì)應(yīng)于一個(gè)項(xiàng)目,但是大型項(xiàng)目經(jīng)常包含大量的子項(xiàng)目,每一個(gè)子項(xiàng)目都可以有自己的構(gòu)建文件。
2.<target>標(biāo)簽一個(gè)項(xiàng)目標(biāo)簽下可以有一個(gè)或多個(gè)target標(biāo)簽。一個(gè)target標(biāo)簽可以依賴(lài)其他的target標(biāo)簽。例如,有一個(gè)target用于編譯程序,另一個(gè)target用于聲稱(chēng)可執(zhí)行文件。在生成可執(zhí)行文件之前必須先編譯該文件,因策可執(zhí)行文件的target依賴(lài)于編譯程序的target。Target的所有屬性如下。
(1) name表示標(biāo)明,這個(gè)屬性是必須的。
(2) depends表示依賴(lài)的目標(biāo)。
(3) if表示僅當(dāng)屬性設(shè)置時(shí)才執(zhí)行。
(4) unless表示當(dāng)屬性沒(méi)有設(shè)置時(shí)才執(zhí)行。
(5) description表示項(xiàng)目的描述。
3.<javac>標(biāo)簽該標(biāo)簽用于編譯一個(gè)或一組java文件,其屬性如下:
(1).srcdir表示源程序的目錄。
(2).destdir表示class文件的輸出目錄。
(3).include表示被編譯的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的類(lèi)路徑。
(6).debug表示包含的調(diào)試信息。
(7).optimize表示是否使用優(yōu)化。
(8).verbose 表示提供詳細(xì)的輸出信息。
(9).fileonerror表示當(dāng)碰到錯(cuò)誤就自動(dòng)停止。
4.<java>標(biāo)簽該標(biāo)簽用來(lái)執(zhí)行編譯生成的.class文件,其屬性如下。
(1).classname 表示將執(zhí)行的類(lèi)名。
(2).jar表示包含該類(lèi)的JAR文件名。
(3).classpath所表示用到的類(lèi)路徑。
(4).fork表示在一個(gè)新的虛擬機(jī)中運(yùn)行該類(lèi)。
(5).failonerror表示當(dāng)出現(xiàn)錯(cuò)誤時(shí)自動(dòng)停止。
(6).output 表示輸出文件。
(7).append表示追加或者覆蓋默認(rèn)文件。
5. fileset類(lèi)型Fileset 數(shù)據(jù)類(lèi)型定義了一組文件,并通常表示為<fileset>元素。不過(guò),許多ant任務(wù)構(gòu)建成了隱式的fileset,這說(shuō)明他們支持所有的fileset屬性和嵌套元素。以下為fileset 的屬性列表。
(1).dir表示fileset 的基目錄。
(2).casesensitive的值如果為false,那么匹配文件名時(shí),fileset不是區(qū)分大小寫(xiě)的,其默認(rèn)值為true。
(3).defaultexcludes 用來(lái)確定是否使用默認(rèn)的排除模式,默認(rèn)為true。
(4).excludes 是用逗號(hào)分隔的需要派出的文件模式列表。
(5).excludesfile 表示每行包含一個(gè)排除模式的文件的文件名。
(6).includes 是用逗號(hào)分隔的,需要包含的文件模式列表。
(7).includesfile 表示每行包括一個(gè)包含模式的文件名。
6. Path類(lèi)型Path元素用來(lái)表示一個(gè)類(lèi)路徑,不過(guò)它還可以用于表示其他的路徑。在用作某個(gè)屬性時(shí),路經(jīng)中的各項(xiàng)用分號(hào)或冒號(hào)隔開(kāi)。在構(gòu)建的時(shí)候,此分隔符將代替當(dāng)前平臺(tái)中所有的路徑分隔符,其擁有的屬性如下。
(1).location 表示一個(gè)文件或目錄。Ant在內(nèi)部將此擴(kuò)展為一個(gè)絕對(duì)路徑。
(2).refid 是對(duì)當(dāng)前構(gòu)建文件中某處定義的一個(gè)path的引用。
(3).path表示一個(gè)文件或路徑名列表。
posted on 2008-04-01 17:11 ybc 閱讀(250) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): SSH