本文主要介紹 Ant 在多用戶開發的情況下如何用 Eclipse並且根據不同的目標環境編譯不同的部署包文中首先介紹一個場景給出在開發編譯部署過程中遇到的問題然後介紹如何用 Eclipse 來簡化你的 Ant 開發過程文章的最後解釋如何通過編寫有效的 Ant 腳本來提高你的工作效率
讀者定位為具有 Java 和 Ant 使用經驗的開發人員
讀者可以學習到如何使用 Ant 解決一些多用戶開發環境中根據不同的目標環境編譯成不同部署包的問題
工作場景
現在有一個 web 項目是多人進行開發的通過 CVS 來管理另外該項目還有一些測試人員他們測試部署在測試服務器上的應用程序發現 bug 後通過 bug 管理系統通知開發人員在開發人員修復 bug 並經過本地測試後由專門的人負責檢出(check out)代碼編譯打包後部署到測試服務器上
該項目的成員小A就是負責檢出代碼編譯打包並部署到服務器上的人除了這個任務之外他還是該項目的編程人員在項目進入測試階段後小A在得到組中別的成員修復了 bug 並且檢入(check in)了代碼的消息後(也有可能是小A自己檢入了代碼)小A首先更新本地的代碼先在本地做測試確認修復了 bug 後打成 WAR 包部署到測試服務器上並通知測試人員已經修復了 bug讓測試人員繼續進行測試
小A的煩惱
在該項目中有一些為測試方便開發而寫的代碼和頁面比如跳過用戶認證但是在部署到測試機環境的時候需要刪除這些代碼和頁面另外作為一個具有靈活性和擴展性的應用程序又有一些配置文件配置文件中的值會根據環境的改變而變動例如在項目中使用了 Logj 記錄日志需要給 Logj 指定日志文件的保存路徑本地程序員開發的時候用的是 Windows 系統給 Logj 指定的也是 Windows 的文件系統在測試階段的時候需要部署到 Linux 系統中那麼日志的保存路徑也需要做相應的改動部署到測試服務器上的時候除了 Logj 需要改之外還有很多別的配置項目也需要變動並且分散在各個 package 中小A的煩惱也隨之而來每次他在做完本地測之後就根據測試機的需要逐個找配置文件更改相應的值並刪除那些為測試方便寫的代碼和頁面每天可能根據需要做好幾次這樣的事情最煩的是他在快做完對測試機環境更改的時候某開發人員突然通知小A說我又改了一點代碼剛檢入你再重打一個包吧小A又不得不從頭開始做新一輪的檢出代碼本地測試更改配置文件刪除不需要的文件打包部署的工作另外小A在測試階段的後期被通知要求除了每次生成一個測試環境的 WAR 包外還必須生成一個在產品環境下的 WAR 包他做的事情就更多了
從上面的場景可以看出小A的工作效率低而且容易出錯甚至有可能導致整個項目的工作效率低下其實可以通過 Ant 來幫助小A快速而且有效地完成這個工作在 Ant 中根據目標環境的需要可以把所有要更改的配置文件的項目集中寫到某個配置文件中這樣根據不同的目標環境得到不同的配置文件Ant 在編譯包時根據不同的目標環境切換不同的配置文件即可比如小A現在碰到的有 中環境開發環境測試環境以及產品環境根據這三種環境可以生成三個不同的配置文件develop_deploypropertytest_deploy property和product_deploy property當小A想生成不同的包時只需在這三個配置文件之間切換就可以了
在正式開始編寫腳本之前我們需要下載安裝相應的軟件
Eclipse為了使 Ant 的開發更加簡單我們選擇了 Eclipse 作為開發環境當然你可以使用任何你喜歡的文本編輯工具來開發你的 AntEclipse 的最新版本可以在 上下載
AntAnt 是基於 Java 的編譯工具它就像 C/C++ 中的 make但是沒有 make 那樣難用Ant 的最新版本可以在 上下載如果你用 Eclipse 來開發 Ant則不用去單獨下載 Ant因為在 Eclipse 中已經集成了 Ant
CVS 客戶端(cvsexe)CVS 可以在 上下載
用 Eclipse 來創建 Ant 腳本
如果你使用 Eclipse 來編寫 Ant建議使用 Eclipse 以後的版本除了以前 Ant 編輯器提供的語法高亮提示語法錯誤等功能外Eclipse 版本增加了許多新的功能比如腳本代碼的折疊快速定位某屬性或者目標(target)段的定義在同一 builder 文件中重構屬性名和目標名(快捷方式Alt + Shift +R)調試 Ant 腳本等
下面我們就來看看 Eclipse 中對 Ant 的支持
打開File-New-Project-Simple-Project點擊Next輸入工程名Ant然後點擊直到Finish
在新建的 Ant 工程中新建 Testxml並且拷貝下面的腳本該段腳本的內容就不做介紹了我們主要看 Eclipse 提供了哪些功能注意這時候打開的並不是 Ant 編輯器將內容拷貝進去之後關掉打開的Testxml然後再重新打開它這樣 Eclipse 就會用 Ant 編輯器打開它並且也語法高亮了
<?xml version=″ encoding=UTF″?>
<project name=Test default=init basedir=>
<property name=test value=test/>
<target name=init>
<echo>${test}</echo>
</target>
</project>
自動提示和代碼折疊功能
如果是 Ant 內置的命令或者前面已經定義的變量
編輯器會自動提示
編輯器右邊的加/減號可以代碼折疊
如下所示
快速定位目標(target)或者定義變量處
在上圖中
將鼠標移至 default=
init
中的 init 上之後
按下 ctrl 鍵
鼠標變成手狀
單擊就可以定位到定義該目標的地方
快速重構目標名或者屬性名
選中目標/屬性名
按下 Alt + Shift + R
然後鍵入你要修改後的值
所有引用到的地方都會隨之改動
如下圖所示
選中 init 後
按下快捷鍵
改成 initial
調試 Ant 腳本
在標簽
<target name=
的左邊設置一斷點
然後在編輯器中右擊
出現的菜單中選
Debug As
-
Ant Build
出現後的窗口與調試 Java 程序的界面差不多
這是調試窗口
這裡可以選擇單步跟進
跳出等
下面是運行時變量窗口
可以看到 test 變量的值是
test
運行結果窗口
由此可見
如果使用好 Eclipse Ant 編輯器所提供強大的功能的話能大大提高寫 Ant 腳本的效率
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27955.html