注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關使用Ant進行Java開發(fā)

使用Ant進行Java開發(fā)

使用Ant進行Java開發(fā)

定 價:¥69.00

作 者: (美)Erik Hatcher,(美)Steve Loughran著;劉永丹,陳洋譯;劉永丹譯
出版社: 電子工業(yè)出版社
叢編項: Java人的工具箱系列
標 簽: Java

ISBN: 9787121016837 出版時間: 2005-09-01 包裝: 平裝
開本: 23cm 頁數(shù): 672 字數(shù):  

內(nèi)容簡介

  Ant,一個備受贊譽的Java構(gòu)建工具。它以其易于使用、與平臺無關、迎合如今項目自動測試和自動部署的需要,成為許多項目構(gòu)建過程的重要環(huán)節(jié)。目前它已成為所有主要開源Java項目采用的獨立工具,并已成了事實上的標準。 本書作者是被SAM RUBY先生譽為“兩個最了解ANT的人”。他們將以最佳的方式給你講授Ant,從一個簡單的構(gòu)建定義開始,然后展示加入你的項目所需的那些功能。如果你是一個初學Ant的人,本書將系統(tǒng)帶你領略大多數(shù)Java項目都要經(jīng)歷的核心步驟:編譯、測試、執(zhí)行、打包以及分發(fā)。如果你是一個富有經(jīng)驗的Ant用戶,本書能教你如何使用Ant“增強系統(tǒng)的能力”。所以不管你使用Ant的經(jīng)驗如何,都能從本書中學到很多東西,你的軟件項目也將因為使用Ant作為構(gòu)建過程的基礎而受益匪淺。 本書分為三個部分,第1部分提供了Ant及其功能的基礎知識。第2部分,每章討論一個專題,在其中探討了多種項目,并介紹了Ant在其中扮演的關鍵角色。第3部分是為那些想突破既有能力限制的高級用戶撰寫的內(nèi)容。

作者簡介

  ErikHatcher,一位Ant項目提交者,目前正主持jGurus的AntFAQjGuru,他在那里回答世界上最棘手的Ant問題。Erik居住在Virginia的Charlottesville。SteveLoughran,也是一位Ant的提交者,就職于HewlettPackard,負責設計和建立成品WebService。Steve居住在Oregon的Corvallis。

圖書目錄

譯者序 v
序 xxi
前言 xxiii
致謝 xxv
關于本書 xxvii
關于作者 xxxii
關于封面 xxxiii
Part 1 學習Ant
第1章 Ant簡介 3
1.1 何為Ant 3
1.1.1 何為構(gòu)建過程,我們?yōu)槭裁葱枰?4
1.1.2 為什么我們認為Ant是一個優(yōu)秀的構(gòu)建工具 4
1.2 Ant的核心概念 5
1.2.1 示例工程 7
1.3 為什么要使用ANT 10
1.3.1 集成開發(fā)環(huán)境 10
1.3.2 Make 11
1.3.3 其他構(gòu)建工具 13
1.3.4 立刻就來運行吧 14
1.4 Ant的演化史 14
1.5 Ant與軟件開發(fā)方法 16
1.5.1 XP(eXtreme Programming) 16
1.5.2 Rational統(tǒng)一過程 17
1.6 示例工程 17
1.6.1 文檔搜索引擎—Ant示例工程 18
1.7 太棒了,可是ANT能否…… 19
1.8 超越JAVA開發(fā) 21
1.8.1 Web 發(fā)布引擎 21
1.8.2 簡單的工作流引擎 21
1.8.3 Microsoft .NET 以及其他語言 21
1.9 小結(jié) 22
第2章 開始Ant之旅 23
2.1 定義我們的第一個工程 23
2.2 第一步: 檢查工具是否已經(jīng)就緒 24
2.3 第二步: 編寫你的第一個Ant構(gòu)建文件 24
2.3.1 測試構(gòu)建文件 25
2.4 第三步: 運行你的第一個構(gòu)建 26
2.4.1 如果構(gòu)建失敗 27
2.4.2 查看更多構(gòu)建細節(jié) 29
2.5 第四步:強制結(jié)構(gòu) 31
2.5.1 布置源文件路徑 32
2.5.2 布置構(gòu)建目錄 33
2.5.3 布置發(fā)布目錄 34
2.5.4 創(chuàng)建構(gòu)建文件 35
2.5.5 目標依賴 35
2.5.6 運行新的構(gòu)建文件 36
2.5.7 重新運行構(gòu)建 37
2.5.8 Ant如何處理命令行上的多個目標 38
2.6 第五步: 運行我們的程序 39
2.6.1 為什么要在Ant內(nèi)部運行 39
2.6.2 添加執(zhí)行目標 40
2.6.3 運行新的目標 40
2.7 ANT 命令行選項 41
2.7.1 指定要運行的構(gòu)建 42
2.7.2 控制所提供的信息量 42
2.7.3 獲取項目信息 44
2.8 最終的構(gòu)建文件 44
2.9 小結(jié) 46
第3章 理解Ant的datatypes和特性 47
3.1 入門 48
3.1.1 Datatype 概述 48
3.1.2 特性概述 48
3.2 通過<JAVAC>介紹DATATYPE和特性 49
3.3 路徑(Path) 51
3.4 文件集(Fileset) 52
3.4.1 文件集舉例 53
3.4.2 默認排除項(Default excludes) 53
3.5 模式集(Patternset) 54
3.6 選擇器(or) 56
3.7 DATATYPE元素命名 57
3.8 過濾集(Filterset) 58
3.8.1 構(gòu)建運行時在文件中插入日期戳 58
3.9 過濾鏈(filterchain)和過濾閱讀器(FilterReader) 59
3.10 Mapper 61
3.10.1 Identity映射器 61
3.10.2 Flatten 映射器 62
3.10.3 Merge 映射器 62
3.10.4 Glob 映射器 63
3.10.5 Regexp 映射器 63
3.10.6 Package映射器 64
3.11 其他ANT DATATYPE 65
3.11.1 ZipFileset 65
3.11.2 Dirset 65
3.11.3 Filelist 65
3.11.4 ClassFileset 66
3.12 特性(Property) 66
3.12.1 通過<property>任務設置特性 67
3.12.2 <property> 任務怎樣區(qū)別于其他任務 70
3.12.3 檢查資源的可用性:<available> 70
3.12.4 忽略不必要的步驟:<uptodate> 以節(jié)省時間 72
3.12.5 用<condition>測試條件 72
3.12.6 在命令行中設置特性 74
3.12.7 用<tstamp>創(chuàng)建構(gòu)建的時間戳 75
3.12.8 從XML文件中載入特性 76
3.13 使用特性控制Ant 77
3.13.1 有條件地執(zhí)行 target 77
3.13.2 有條件的patternset包含/排除(inclusion/exclusion) 78
3.13.3 有條件的構(gòu)建失敗 78
3.14 引用 79
3.14.1 特性和引用 80
3.14.2 為嵌套的模式集使用引用 81
3.15 最佳實踐 82
3.16 小結(jié) 83
第4章 使用JUnit進行測試 85
4.1 重構(gòu)(Refactoring) 86
4.2 JAVA MAIN() 測試 86
4.3 JUNIT 入門 87
4.3.1 編寫測試用例 88
4.3.2 運行測試用例 88
4.3.3 斷言預期的結(jié)果 88
4.3.4 測試用例生命周期 90
4.3.5 編寫測試組件 90
4.3.6 獲取及安裝JUnit 91
4.3.7 擴展JUnit 91
4.4 在我們的應用程序中使用單元測試 92
4.4.1 先編寫測試 92
4.4.2 在測試過程中處理外部資源 93
4.5 JUNIT任務—<JUNIT> 94
4.5.1 組織目錄以安放測試 94
4.5.2 配置JUnit到構(gòu)建過程 95
4.6 測試失敗意味著構(gòu)建失敗 97
4.6.1 捕獲測試結(jié)果 97
4.6.2 運行多重測試 99
4.6.3 創(chuàng)建你自己的結(jié)果(result)formatter 100
4.7 生成測試結(jié)果報告 100
4.7.1 生成報告且允許當測試失敗時中止構(gòu)建 102
4.7.2 從命令行運行單個測試用例 103
4.7.3 初始化測試環(huán)境 103
4.7.4 其他測試問題 104
4.8 短路測試 105
4.8.1 處理大量測試 108
4.9 最佳實踐 109
4.10 小結(jié) 110
第5章 運行程序 111
5.1 為什么需要運行外部程序 111
5.2 運行JAVA程序 112
5.2.1 介紹<java>任務 113
5.2.2 設置classpath 114
5.2.3 參數(shù) 115
5.2.4 定義系統(tǒng)特性 116
5.2.5 在新JVM中運行程序 117
5.2.6 設置環(huán)境變量 118
5.2.7 控制新JVM 118
5.2.8 使用failonerror處理錯誤 119
5.2.9 執(zhí)行JAR文件 120
5.2.10 調(diào)用第三方程序 121
5.2.11 在調(diào)用之前探查Java程序 123
5.2.12 設置超時 124
5.3 使用<>啟動本地程序 124
5.3.1 設置環(huán)境變量 126
5.3.2 處理錯誤 126
5.3.3 處理超時 127
5.3.4 制作并運行一個shell命令 127
5.3.5 在程序被調(diào)用之前進行探測 129
5.4 使用<apply>進行批量執(zhí)行 130
5.5 處理輸出 131
5.6 執(zhí)行的限制 132
5.7 最佳實踐 132
5.8 小結(jié) 133
第6章 工程打包 134
6.1 移動、復制和刪除文件 135
6.1.1 如何刪除文件 135
6.1.2 怎樣復制文件 136
6.1.3 如何移動文件 137
6.1.4 過濾 138
6.2 為打包做準備 139
6.2.1 構(gòu)建發(fā)布代碼及其文檔 139
6.2.2 加入數(shù)據(jù)文件 141
6.2.3 準備編制文檔 142
6.2.4 準備安裝腳本和文檔 143
6.2.5 為重發(fā)布準備庫 145
6.3 創(chuàng)建存檔文件 146
6.3.1 JAR文件 148
6.3.2 創(chuàng)建一個JAR文件 148
6.3.3 測試JAR文件 149
6.3.4 創(chuàng)建JAR清單 150
6.3.5 向JAR中增加額外元數(shù)據(jù) 152
6.3.6 JAR文件的最佳實踐 152
6.3.7 簽署JAR文件 152
6.4 創(chuàng)建ZIP文件 154
6.4.1 創(chuàng)建二進制發(fā)布 154
6.4.2 創(chuàng)建源代碼發(fā)布 156
6.4.3 合并Zip文件 157
6.4.4 Zip文件的最佳實踐 157
6.5 創(chuàng)建TAR文件 158
6.6 使用WAR文件創(chuàng)建WEB應用程序 160
6.7 打包測試 161
6.8 小結(jié) 162
第7章 部署 163
7.1 典型部署問題 164
7.1.1 再看這些任務 164
7.1.2 部署所用的工具 164
7.2 用于部署的任務 165
7.2.1 使用<ftp>進行文件傳輸 166
7.2.2 探測服務器的有效性 166
7.2.3 使用<sleep>讓構(gòu)建暫停 168
7.2.4 Ant的email任務 169
7.2.5 使用<get>獲取遠程文件 170
7.2.6 使用任務進行部署 171
7.3 基于FTP的打包應用程序發(fā)布 171
7.3.1 通過<input>任務獲得信息 172
7.4 基于Email的打包應用程序發(fā)布 173
7.5 本地部署到Tomcat 4.x 174
7.5.1 Tomcat的管理servlet API 175
7.5.2 使用Ant部署到Tomcat 176
7.6 遠程部署到Tomcat 181
7.6.1 插曲:使用<antcall>調(diào)用目標 182
7.6.2 在部署中使用<antcall> 185
7.7 對部署進行測試 187
7.8 小結(jié) 187
第8章 綜合運用Ant 188
8.1 我們目前的應用程序 188
8.2 構(gòu)建定制的Ant任務庫 189
8.3 載入跨工程的共用特性 194
8.4 處理版本依賴 196
8.4.1 安裝庫的新版本 198
8.5 構(gòu)建文件的哲學 200
8.5.1 一開始就要把結(jié)果放在心上 200
8.5.2 將測試納入構(gòu)建 200
8.5.3 支持自動部署 200
8.5.4 使其可移植 200
8.5.5 允許用定制 201
8.6 小結(jié) 201
Part 2 應用Ant
第9章 在開發(fā)項目中使用Ant 205
9.1 設計基于Ant的構(gòu)建過程 206
9.1.1 分析你的項目 206
9.1.2 建立核心構(gòu)建文件 208
9.1.3 完善構(gòu)建文件 208
9.2 移植到ANT 209
9.3 移植的十個步驟 210
9.3.1 從基于Make的項目移植 211
9.3.2 從基于IDE的項目移植 211
9.4 主構(gòu)建:管理大型項目 212
9.4.1 重構(gòu)構(gòu)建文件 212
9.4.2 引入<ant>任務 213
9.4.3 示例:基本主構(gòu)建文件 213
9.4.4 設計可升級的靈活主構(gòu)建文件 215
9.5 管理子工程構(gòu)建 221
9.5.1 如何控制子工程的特性 221
9.5.2 從主構(gòu)建文件中繼承特性和引用 223
9.5.3 在<ant>里聲明特性和引用 224
9.5.4 通過XML文件片斷共享特性 225
9.5.5 使用XML文件片斷共享目標 227
9.6 創(chuàng)建可重用的庫構(gòu)建文件 228
9.7 展望未來:讓大型項目支持演化 230
9.8 ANT項目的最佳實踐 231
9.8.1 管理庫 232
9.8.2 實現(xiàn)過程 232
9.9 小結(jié) 233
第10章 超越Ant的核心任務 234
10.1 理解任務的種類 235
10.1.1 那么,什么是“可選”任務 235
10.1.2 Ant的主要可選任務 236
10.1.3 為什么需要第三方任務 237
10.2 可選任務實際演練 237
10.2.1 操控特性文件 237
10.2.2 為構(gòu)建期間添加音頻反饋和視覺反饋 239
10.2.3 添加依賴關系檢查 241
10.2.4 用JavaCC進行語法解析 243
10.2.5 置換正則表達式 244
10.3 使用軟件配置管理任務 245
10.3.1 CVS 245
10.3.2 ClearCase 246
10.4 使用第三方任務 247
10.4.1 用<taskdef>定義任務 247
10.5 幾個知名的第三方任務 248
10.5.1 Checkstyle 248
10.5.2 Torque—對象-關系映射 250
10.6 ANT-CONTRIB任務 253
10.7 項目間共享任務定義 258
10.8 最佳實踐 258
10.9 小結(jié) 259
第11章 XDoclet 260
11.1 安裝XDoclet 261
11.2 生成TO-DO列表 261
11.3 XDoclet的體系結(jié)構(gòu) 262
11.3.1 XDoclet的Ant任務 263
11.3.2 模板化 264
11.3.3 XDoclet如何工作 265
11.4 編寫自己的XDoclet模板 265
11.4.1 代碼生成 267
11.4.2 按類生成與單文件生成的比較 272
11.4.3 過濾要處理的類 273
11.5 高級XDoclet 273
11.5.1 定制子任務 274
11.5.2 建立定制標記處理器 274
11.6 XDoclet的發(fā)展方向 275
11.6.1 XDoclet與C#的比較 275
11.6.2 展望Java的未來:JSR175和JSR181 276
11.7 XDoclet最佳實踐 276
11.7.1 依賴關系檢查 276
11.8 小結(jié) 277
第12章 web開發(fā) 278
12.1 WEB應用程序有什么不同 279
12.2 使用標記庫 280
12.2.1 建立標記庫 280
12.2.2 集成標記庫 286
12.2.3 使用Ant開發(fā)標記庫小結(jié) 287
12.3 編譯JSP網(wǎng)頁 288
12.3.1 安裝<jspc>任務 289
12.3.2 使用<jspc>任務 289
12.3.3 為部署而編譯JSP 291
12.3.4 其他JSP編譯任務 292
12.4 定制web應用程序 292
12.4.1 基于filterset的定制 292
12.4.2 利用XDoclet定制部署描述文件 294
12.4.3 定制WAR文件中的庫 297
12.5 生成靜態(tài)內(nèi)容 297
12.5.1 生成新內(nèi)容 297
12.5.2 建立新文件 298
12.5.3 修改既有文件 299
12.6 使用HTTPUNIT測試WEB應用程序 299
12.6.1 編寫HttpUnit測試 300
12.6.2 編譯測試 302
12.6.3 準備從Ant中運行HttpUnit測試 303
12.6.4 運行HttpUnit測試 303
12.6.5 整合測試 304
12.6.6 HttpUnit的局限性 306
12.6.7 Canoo WebTest 306
12.7 利用CACTUS進行服務器端測試 310
12.7.1 從Ant視角看Cactus 311
12.7.2 Cactus如何運作 313
12.7.3 我們的測試用例登場了 314
12.7.4 Cactus小結(jié) 314
12.8 小結(jié) 315
第13章 使用XML 317
13.1 導言:關于XML庫 318
13.2 驗證XML 319
13.2.1 當文件不合法的時候 320
13.2.2 解析XML DTDs 321
13.2.3 支持其他的XML驗證機制 322
13.3 利用XSLT轉(zhuǎn)換XML 323
13.3.1 使用XML Catalog datatype 325
13.3.2 由XML生成PDF文件 327
13.3.3 Styler——一個第三方的轉(zhuǎn)換任務 327
13.4 生成XML格式的構(gòu)建日志 327
13.4.1 樣式表 328
13.4.2 輸出文件 329
13.4.3 構(gòu)建日志的后處理 330
13.5 將XML數(shù)據(jù)載入Ant特性 331
13.6 XML處理的將來 332
13.7 小結(jié) 332
第14章 Enterprise JavaBeans 333
14.1 EJB概述 333
14.1.1 Enterprise JavaBeans的多種類型 334
14.1.2 EJB JAR 334
14.1.3 廠商相關的情形 335
14.2 一個簡單的EJB構(gòu)建 335
14.3 使用ANT的EJB任務 336
14.4 使用<EJBJAR> 337
14.4.1 廠商相關的<ejbjar>處理 339
14.5 使用XDoclet進行EJB開發(fā) 340
14.5.1 XDoclet子任務 341
14.5.2 XDoclet的@標記 342
14.5.3 利用XDoclet支持不同的應用服務器 343
14.5.4 Ant特性替換 343
14.6 MIDDLEGEN 345
14.7 部署到J2EE應用服務器 348
14.8 一個完整的EJB例子 349
14.9 EJB工程的最佳實踐 354
14.10 小結(jié) 354
第15章 使用Web服務 355
15.1 何謂Web服務,何謂SOAP 356
15.1.1 SOAP API 357
15.1.2 向Java增加Web服務能力 357
15.2 用Ant創(chuàng)建一個SOAP客戶端應用程序 357
15.2.1 準備我們的構(gòu)建文件 358
15.2.2 創(chuàng)建代理類 359
15.2.3 使用SOAP代理類 361
15.2.4 編譯SOAP客戶端 361
15.2.5 運行SOAP服務 362
15.2.6 回顧SOAP客戶端創(chuàng)建 363
15.3 用Axis和Ant創(chuàng)建一個SOAP服務 363
15.3.1 構(gòu)建Web服務的簡單方法 364
15.4 向既有Web應用程序添加Web服務 367
15.4.1 配置Web應用程序 367
15.4.2 添加庫 368
15.4.3 在構(gòu)建中包含SOAP服務 368
15.4.4 測試服務器上的需要類 369
15.4.5 實現(xiàn)SOAP端點 370
15.4.6 部署Web服務 370
15.5 為SOAP服務編寫客戶端 371
15.5.1 導入WSDL 371
15.5.2 實現(xiàn)測試 372
15.5.3 編寫Java客戶端 375
15.6 什么是互操作,為什么它成其為問題 376
15.7 構(gòu)建一個C#客戶端 376
15.7.1 條件探測 377
15.7.2 在C#中導入WSDL 378
15.7.3 編寫C#客戶端類 379
15.7.4 構(gòu)建C#客戶端 379
15.7.5 運行C#客戶端 380
15.7.6 回顧C#客戶端的構(gòu)建過程 381
15.8 構(gòu)建Web服務的嚴格方法 381
15.9 回顧Web服務開發(fā) 382
15.10 通過SOAP調(diào)用Ant 383
15.11 小結(jié) 384
第16章 持續(xù)集成 386
16.1 利用操作系統(tǒng)調(diào)度Ant構(gòu)建 387
16.1.1 Windows方法 387
16.1.2 Unix 版本 388
16.1.3 使用腳本 388
16.2 CRUISECONTROL 388
16.2.1 它如何工作 389
16.2.2 這就是Cruise——讓構(gòu)建管理器工作起來 389
16.2.3 報告構(gòu)建日志 395
16.2.4 郵件通知與構(gòu)建標注 396
16.2.5 CruiseControl小結(jié) 396
16.2.6 提示與技巧 396
16.2.7 CruiseControl的優(yōu)點和缺點 396
16.3 ANTHILL 397
16.3.1 讓Anthill轉(zhuǎn)起來 398
16.3.2 Anthill是如何工作的 399
16.3.3 Anthill小結(jié) 400
16.4 GUMP 401
16.4.1 安裝和運行Gump 401
16.4.2 Gump如何運作 403
16.4.3 Gump小結(jié) 404
16.5 持續(xù)集成工具的比較 405
16.6 小結(jié) 406
第17章 開發(fā)本地代碼 407
17.1 本地代碼的挑戰(zhàn) 407
17.2 使用既有的構(gòu)建工具 408
17.2.1 交給IDE去做 408
17.2.2 使用Make 409
17.3 引入<CC>任務 410
17.3.1 安裝任務 410
17.3.2 添加一個編譯器 411
17.3.3 <cc>任務快速入門 411
17.4 在ANT中構(gòu)建一個JNI庫 412
17.4.1 構(gòu)建JNI庫的步驟 413
17.4.2 編寫Java存根(Stub) 414
17.4.3 編寫C++類 415
17.4.4 編譯C++源代碼 416
17.4.5 部署和測試庫 419
17.5 實現(xiàn)跨平臺 422
17.5.1 移植C++源文件 422
17.5.2 擴展構(gòu)建文件 423
17.5.3 移植測試 424
17.5.4 移植代碼 424
17.6 深入<CC>的細節(jié) 425
17.6.1 定義預處理宏 425
17.6.2 通過<libset>鏈接到庫 426
17.6.3 配置編譯器和鏈接器 427
17.6.4 定制鏈接器 428
17.7 發(fā)布本地庫 429
17.8 小結(jié) 430
第18章 成品部署 431
18.1 不同應用服務器的挑戰(zhàn) 432
18.1.1 迥然不同的底層行為 432
18.1.2 不同的Java運行時行為 433
18.1.3 使用不同的API實現(xiàn)進行復制 434
18.1.4 與供應商相關的庫 436
18.1.5 部署描述文件 436
18.1.6 與服務器相關的部署過程 436
18.1.7 與服務器相關的管理 436
18.2 與操作員齊心協(xié)力 437
18.2.1 操作員用例 437
18.2.2 操作員測試 437
18.2.3 操作員缺陷跟蹤 438
18.2.4 將操作員與構(gòu)建過程集成 438
18.3 利用Ant迎接部署的挑戰(zhàn) 440
18.3.1 建立單一的源代碼樹 440
18.3.2 為創(chuàng)建檔案文件而編寫統(tǒng)一的目標 440
18.3.3 運行服務器端Ant進行部署 441
18.3.4 自動化上載和部署過程 442
18.4 ANT的強大部署工具介紹 442
18.4.1 <copy>任務 442
18.4.2 <serverdeploy>任務 443
18.4.3 使用<telnet>進行遠程控制 443
18.5 建立一個成品的部署過程 446
18.5.1 計劃 446
18.5.2 目錄結(jié)構(gòu) 447
18.5.3 配置文件 447
18.5.4 構(gòu)建文件 447
18.5.5 遠程構(gòu)建文件build.xml 447
18.5.6 為安裝到服務器編寫構(gòu)建文件 449
18.5.7 上載至遠程服務器 450
18.5.8 讓遠程部署轉(zhuǎn)起來 454
18.5.9 對部署過程進行回顧 455
18.6 部署至特定應用服務器 456
18.6.1 Tomcat 4.0 和 Tomcat 4.1 456
18.6.2 BEA WebLogic 458
18.6.3 HP Bluestone 應用服務器 458
18.6.4 其他服務器 459
18.7 驗證部署 459
18.7.1 創(chuàng)建時間戳文件 460
18.7.2 將時間戳文件添加到應用程序中 460
18.7.3 測試時間戳 462
18.8 最佳實踐 462
18.9 小結(jié) 463
Part 3 擴展Ant
第19章 編寫Ant任務 467
19.1 什么是一個真正的Ant任務 468
19.1.1 世界上最簡單的Ant任務 468
19.1.2 在同一個構(gòu)建過程中編譯和應用一個任務 469
19.1.3 任務的生命周期 469
19.2 Ant API 入門 470
19.2.1 Task 470
19.2.2 Project 471
19.2.3 Path 472
19.2.4 Fileset 472
19.2.5 DirectoryScanner 472
19.2.6 EnumeratedAttribute 473
19.2.7 FileUtils 473
19.3 任務如何獲得數(shù)據(jù) 474
19.3.1 設置屬性 474
19.3.2 支持嵌套元素 480
19.3.3 支持datatypes 481
19.3.4 允許自由格式文本 482
19.4 建立一個基本的Ant Task子類 483
19.4.1 為任務添加屬性 483
19.4.2 處理元素文本 484
19.5 操作FILESET 485
19.6 錯誤處理 486
19.7 測試Ant任務 487
19.8 執(zhí)行外部程序 487
19.8.1 處理進程輸出 490
19.8.2 本地執(zhí)行小結(jié) 490
19.9 在任務中執(zhí)行Java程序 490
19.9.1 創(chuàng)建Java程序新進程的示例 490
19.10 支持任意命名的元素和屬性 493
19.11 構(gòu)建任務庫 495
19.12 支持多版本Ant 497
19.13 小結(jié) 497
第20章 進一步擴展Ant 498
20.1 在Ant中使用腳本 499
20.1.1 <script>約定的隱含對象 500
20.1.2 腳本使用小結(jié) 501
20.2 監(jiān)聽者與日志工具 502
20.2.1 編寫一個定制監(jiān)聽者 503
20.2.2 使用log4j的日志功能 506
20.2.3 編寫一個定制日志工具 509
20.2.4 使用MailLogger 513
20.3 開發(fā)定制的MAPPER 514
20.4 創(chuàng)建定制的OR 515
20.4.1 在構(gòu)建中使用定制or 516
20.5 實現(xiàn)定制的FILTER 517
20.5.1 編寫定制filter的reader 519
20.6 小結(jié) 520
附錄A 安裝 523
附錄B Ant之XML入門 532
附錄C IDE集成 536
附錄D Ant風格的要素 544
附錄E Ant任務參考 562
資源 621
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號