歡迎您光臨本站 註冊首頁

用Ant和Eclipse有效地提高部署效率

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  本文主要介紹 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的煩惱

  在該項目中,有一些為測試方便開發而寫的代碼和頁面,比如跳過用戶認證,但是在部署到測試機環境的時候,需要刪除這些代碼和頁面;另外作為一個具有靈活性和擴展性的應用程序,又有一些配置文件,配置文件中的值會根據環境的改變而變動.例如,在項目中使用了 Log4j 記錄日誌,需要給 Log4j 指定日誌文件的保存路徑,本地程序員開發的時候用的是 Windows 系統,給 Log4j 指定的也是 Windows 的文件系統,在測試階段的時候,需要部署到 Linux 系統中,那麼日誌的保存路徑也需要做相應的改動.部署到測試伺服器上的時候,除了 Log4j 需要改之外,還有很多別的配置項目也需要變動,並且分散在各個 package 中.小A的煩惱也隨之而來,每次他在做完本地測之後,就根據測試機的需要逐個找配置文件,更改相應的值,並刪除那些為測試方便寫的代碼和頁面,每天可能根據需要做好幾次這樣的事情,最煩的是他在快做完對測試機環境更改的時候,某開發人員突然通知小A說:「我又改了一點代碼,剛檢入,你再重打一個包吧.」,小A又不得不從頭開始做新一輪的檢出代碼、本地測試、更改配置文件、刪除不需要的文件、打包部署的工作.另外小A在測試階段的後期被通知要求除了每次生成一個測試環境的 WAR 包外還必須生成一個在產品環境下的 WAR 包,他做的事情就更多了.



  從上面的場景可以看出,小A的工作效率低容易出錯,甚至有可能導致整個項目的工作效率低下.其實可以通過 Ant 來幫助小A快速有效地完成這個工作.在 Ant 中,根據目標環境的需要,可以把所有要更改的配置文件的項目集中寫到某個配置文件中.這樣根據不同的目標環境得到不同的配置文件,Ant 在編譯包時根據不同的目標環境切換不同的配置文件即可.比如小A現在碰到的有 3 中環境:開發環境、測試環境以及產品環境,根據這三種環境可以生成三個不同的配置文件:develop_deploy.property、test_deploy. property和product_deploy. property,當小A想生成不同的包時只需在這三個配置文件之間切換就可以了.

  在正式開始編寫腳本之前,我們需要下載安裝相應的軟體.


  • Eclipse:為了使 Ant 的開發更加簡單,我們選擇了 Eclipse3.1 作為開發環境.當然你可以使用任何你喜歡的文本編輯工具來開發你的 Ant.Eclipse 的最新版本可以在 http://eclipse.org/ 上下載.
  • Ant:Ant 是基於 Java 的編譯工具,它就像 C/C 中的 make,但是沒有 make 那樣難用.Ant 的最新版本可以在 http://ant.apache.org/bindownload.cgi 上下載.如果你用 Eclipse 來開發 Ant,則不用去單獨下載 Ant,在 Eclipse 中已經集成了 Ant.
  • CVS 客戶端(cvs.exe):CVS 可以在 http://www.nongnu.org/cvs/ 上下載

  用 Eclipse3.1 來創建 Ant 腳本

  如果你使用 Eclipse 來編寫 Ant,建議使用 Eclipse 3.1 以後的版本.除了以前 Ant 編輯器提供的語法高亮,提示語法錯誤等功能外,Eclipse3.1 版本增加了許多新的功能.比如:腳本代碼的摺疊;快速定位某屬性或者目標(target)段的定義;在同一 builder 文件中重構屬性名和目標名(快捷方式Alt Shift R);調試 Ant 腳本等.

  下面我們就來看看 Eclipse 3.1 中對 Ant 的支持


  • 打開「File」-「New」-「Project」-「Simple」-「Project」,點擊「Next」,輸入工程名「Ant」,然後點擊直到「Finish」
  • 在新建的 Ant 工程中,新建 Test.xml,並且拷貝下面的腳本.該段腳本的內容就不做介紹了,我們主要看 Eclipse 提供了哪些功能.注意這時候打開的並不是 Ant 編輯器,將內容拷貝進去之後,關掉打開的「Test.xml」,然後再重新打開它,這樣 Eclipse 就會用 Ant 編輯器打開它,並且也語法高亮了.

<?xml version=「1.0

encoding=「UTF-8?><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<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 腳本的效率.


[火星人 ] 用Ant和Eclipse有效地提高部署效率已經有614次圍觀

http://coctec.com/docs/java/show-post-60938.html