我愛北京天安門
天安門上太陽升
偉大領袖毛主席
指引我們向前進
<span class="myp111"><font id="zoom"><font size="2">2001 年11 月 IBM 宣布捐出了價值 4 千萬美金的開發軟體給開放源碼的 Eclipse 項目。如此受青睞的 Eclipse 是什麼樣子呢,如何使用呢?本文的第一部分會使你對Eclipse有一個初步的認識。並且,Eclipse這個號稱未來能進行任何語言開發的IDE集大成者,又將如何?它的這一宏偉目標?第二部分介紹的Eclipse的外掛程式開發將是其中的關鍵所在。 <br /><br />Eclipse
是替代IBM Visual Age for Java(以下簡稱IVJ)的下一代IDE開發環境,但它未來的目標不僅僅是成為專門開發Java程式的IDE環境,根據Eclipse的體繫結構,通過開發外掛程式,它能擴充到任何語言的開發,甚至能成為圖片繪製的工具。目前,Eclipse已經開始提供C語言開發的功能外掛程式。更難能可貴的是,Eclipse是一個開放原始碼的項目,任何人都可以下載Eclipse的原始碼,並且在此基礎上開發自己的功能外掛程式。也就是說未來只要有人需要,就會有建立在Eclipse之上的COBOL,Perl,Python等語言的開發外掛程式出現。同時可以通過開發新的外掛程式擴充現有外掛程式的功能,比如在現有的Java開發環境中加入Tomcat伺服器外掛程式。可以無限擴充,而且有著統一的外觀,操作和系統資源管理,這也正是Eclipse的潛力所在。
<br /><br />雖然目前Eclipse項目還沒有最後完成,但從已有的版本中已經能領略到Eclipse設計主導思想和主要功能特點。現在就瞭解Eclipse不但能使廣大程式員對這款業界期望很高的IDE能一睹為快,更為重要的是如果能參加到Eclipse項目的開發中或是閱讀它的開放原始碼,這對廣大程式員來說無疑是一個千載難逢的提高編程水平的好機會。Eclipse計劃提供多個平台的版本,象Windows,Linux,Solaris,HP-UX和AIX,以下只介紹Windows版本。本文第一部分先介紹Eclipse的基本使用方法。第二部分介紹如何進行Eclipse的外掛程式開發。
<br /><br /><b>一.Eclipse簡介</b> <br /><br />Eclipse是開放原始碼的項目,你可以到www.eclipse.org去免費下載Eclipse的最新版本,一般Eclipse提供幾個下載版本:Release,Stable Build,Integration Build和Nightly Build,建議下載Release或Stable版本,筆者用的是Build20020125(Stable版本)。Eclipse本身是用Java語言編寫,但下載的壓縮包中並不包含Java運行環境,需要使用者自己另行安裝JRE,並且要在作業系統的環境變數中指明JRE中bin的路徑。安裝Eclipse的步驟非常簡單:只需將下載的壓縮包按原路徑直接解壓既可。需注意如果有了更新的版本,要先刪除老的版本重新安裝,不能直接解壓到原來的路徑覆蓋老版本。在解壓縮之後可以到相應的安裝路徑去找Eclipse.exe運行。如果下載的是Release或Stable版本,並且JRE環境安裝正確無誤,一般來說不會有什麼問題,在閃現一個很酷的月蝕圖片後,Eclipse會顯示它的預設介面:
<br /><br /></font> <center><font size="2"><img src="/images/blog_csdn_net/arielxp/16130/r_Eclipse1.gif" /> <br /><br />圖一</font></center><br /><br /><font size="2">乍一看起來,Eclipse的介面有點象JBilder,但實際操作進程中會發現它更象IVJ,畢竟開發Eclipse的主導用量是開發IVJ的原班人馬(可參考www.oti.com)。另外還值得一提的是Eclipse項目的參預者除了IBM以外,還有象Borland,Rational
Software,RedHat,Merant等一大批業界的姣姣者,這也為Eclipse的未來奠定了良好的基礎。 <br /><br />下面將分別對Eclipse的各種特性作簡單介紹,包括:檔案存放,開發環境,編譯與運行,版本管理,使用外掛程式。 <br /><br /><font color="#0000cc">1. 檔案存放</font> <br /><br />大多IVJ的初學者都對找不到Java原始碼感到非常不適應,因為IVJ把所有的原始碼都儲存到一個reponsitory庫檔案中,想要得到文字格式設定的原始碼必須用Export功能從reponsitory中匯出原始碼。使用了reponsitory的IVJ對原始碼的管理功能幾乎達到極致,正是這一點使得許多程式員對IVJ鐘愛有加。而Eclipse將原始碼以文本方式儲存,卻實現了IVJ對原始程式碼控制的幾乎全部功能,並且還增加了一些新的功能,能達到這一點,不能不驚歎於Eclipse開發人員的高超技巧。
<br /><br />安裝Eclipse之後,在安裝路徑的下一層路徑中會有一個workspace檔案夾。每當在Eclipse中新產生一個項目,預設情況下都會在workspace中產生和項目同名的檔案夾以存放該項目所用到的全部檔案。你可以用Windows資源管理員直接存取或維護這些檔案。 <br /><br />將已有的檔案加入到一個項目中目前有三種方式:第一種是象在IVJ中的一樣,用IDE的"File"菜單中的"Import"功能將檔案匯入到項目中。這也是推薦的方式。第二種是從Windows的資源管理員中直接拖動檔案到項目中。第三種就是直接將檔案拷貝到專案檔夾中,然後在Eclipse的資源瀏覽視窗中選擇項目或檔案夾並執行從本地重新整理功能(Refresh
from locate)。需要說明的一點是,專案檔夾可以放在電腦的任何位置,並且可以在Eclipse中用建立項目的方法將項目路徑指定到已經存在的專案檔夾,然後在Eclipse中重新整理即可。但要注意的是,任何專案檔夾建立或指定,目前都只能在Eclipse中用建立項目的方法來實現,即使是在預設儲存專案檔夾的workspace路徑下建立立一個檔案夾,在Eclipse環境中也是無法將它變成一個項目,也就是說,這個檔案夾對Eclipse是不可視的。 <br /><br /><font color="#0000cc">2.
Eclipse開發環境</font> <br /><br />和IVJ一樣,Eclipse開發環境被稱為Workbench,它主要由三個部分組成:視圖(Perspective),編輯視窗(Editor)和觀察視窗(View)。在下面的介紹中,希望讀者能知道Java視圖,Java包瀏覽視窗,資源檢視,資源瀏覽視窗等區別(其實最主要的也就是要區別視圖和視窗),以免在進一步的閱讀中產生混淆。圖二是它們之間的關係結構略圖: <br /><br /></font> <center><font size="2"><img
src="/images/blog_csdn_net/arielxp/16130/r_Eclipse2.gif" /> <br /><br />圖二</font></center><br /><br /><font size="2">在圖二中,可以看出Workbench包含多個視圖,而每個視圖又包含不同的視窗。由於每個編輯視窗有很大的共性,而且預設情況它們都在同一地區中顯示,因此我們只在每個視圖中標出一個編輯視窗,以綠色表示。觀察視窗則各不相同,這裡以紅色表示。 <br /><br />下面首先介紹編輯視窗。所有檔案的顯示和編輯都包含在編輯視窗裡。預設情況下開啟的多個檔案是以標籤(TagTable)方式在同一個視窗中排列,可以用拖動方式將這些檔案排列成各種布局。方法是拖動某一個檔案的標籤(tag)到編輯視窗的邊框,當游標有相應的變化時再釋放。
<br /><br />當檔案被加入到項目中後,在資源瀏覽或Java包瀏覽視窗雙擊檔案,Eclipse會試圖開啟這個檔案:其中Eclipse內嵌的編輯器能預設開啟一些檔案,如*.java,*.txt,*.class等等。如果是其它類型的檔案,Eclipse會叫用作業系統相應的預設編輯器開啟,如word文檔,PDF檔案等。同時Eclipse也可以象IVJ一樣用指定的編輯器開啟相應的檔案。例如在Eclipse項目中雙擊HTML檔案時,可能希望是用Notepad開啟,而不是用系統預設的IE瀏覽器開啟。實現的方法是開啟功能表列中的WorkBenchàPreferences對話方塊,之後在對話方塊中選擇WorkBenchàFile
Editors,然後添加檔案類型,如*.html,再為其指定編輯器即可。 <br /><br />在編輯視窗,還值得注意的是,習慣了IVJ的程式員在編輯Java程式的時候,更願意以方法為獨立的編輯單位(即在編輯視窗中只顯示單個的方法,而不是程式全部的原始碼),這種方式也的確是非常合理的開發方式,不僅代碼的顯示更加簡捷,還能輔助程式員編出封裝性更好的類。在Eclipse在工具列上提供了一個切換按鈕,可以在"顯示全部代碼"和"只顯示所選單元"(這裡的單元指的是單個方法、變數、匯入的包等)之間切換(可參考下面的圖三)。建議沒
<br /><br />有使用過IVJ的程式員也嘗試一下在"只顯示所選單元"狀態下進行代碼開發。 <br /><br />其次要介紹的是觀察視窗,它配合編輯視窗並提供了多種的相關資訊和瀏覽方式。常用的觀察視窗有資源瀏覽視窗(Navigator),Java包瀏覽視窗(Packages),控制台(Console),工作列(Task)等等。 <br /><br />瀏覽視窗和Java瀏覽視窗是觀察視窗核心部分。前者和Windows的瀏覽器差不多,能瀏覽專案檔夾中的所有檔案,後者用來瀏覽項目中的Java包,包中的類,類中的變數和方法等資訊。在Java瀏覽視窗中可以通過用滑鼠右鍵的菜單中的Open
Type Hierarchy開啟層次瀏覽視窗(Hierarchy),這個視窗非常實用,它能非常清晰的查看類的階層。類中的編譯出錯資訊可以在任務視窗中查到,同時它也可以成為名符其實的任務視窗:向其中添加新的任務描述資訊,來跟蹤項目的進度。控制台則主要用來顯示程式的輸出資訊。在偵錯工具的時候,會有更豐富的觀察視窗來協助程式員進行調試,如變數值察看視窗,斷點視窗等等。 <br /><br />觀察視窗是任何IDE開發環境的核心,用好觀察視窗是也就是用好IDE開發環境。Eclipse提供了豐富的觀察視窗,能真正用好這些視窗恐怕要得經過一段時間的磨練。
<br /><br />最後介紹視圖。一個視圖包括一個或多個編輯視窗和觀察視窗。在開發環境的最左側的快捷欄中的上部分顯示的就是當前所開啟的視圖表徵圖。視圖是Eclipse的最靈活的部分,可以自訂每個視圖中包含的觀察視窗種類,也可以自訂一個新視圖。這些功能都被包括在"Perspective" 菜單中。在Eclipse的Java開發環境中提供了幾種預設視圖,如資源檢視(Resource Perspective,它也是第一次啟動Eclipse時的預設視圖),Java視圖(Java Perspective),調試視圖(Debug
Perspective),團隊視圖(Team Perspective)等等。每一種視圖都對應不同種類的觀察視窗。可以從功能表列中的PerspectiveàShow View看到該視圖對應的觀察視窗。當然,每個視圖的觀察視窗都是可配置的,可以在功能表列中的PerspectiveàCustomize進行配置。多樣化的視圖不但可以協助程式員以不同角度觀察代碼,也可以滿足不同的編程習慣。 <br /><br /><font color="#0000cc">3. 編譯與運行</font> <br /><br />在IVJ中調試功能非常強大,多種跟蹤方式,斷點設定,變數值察看視窗等等。這些在Eclipse中都也有提供。在本文下面介紹外掛程式的時候,會結合例子更加詳細的介紹如何使用設定項目環境,如何運行和偵錯工具。
<br /><br />在Java視圖中,工具列中有兩個按鈕,分別用來進行調試和運行。並且可能由於安裝的外掛程式不同Eclipse會存在多種運行/偵錯工具的方式,為了確定當前項目用那一種方式運行,需要在項目的屬性選項中的設定LauncheràRun/Debug選項。通常我們需要用的是"Java Applicantion"方式。在這種方式下,如果當前位置是包含main()方法的Java程式,點擊調試/運行按鈕就會立即開始執行調試/運行功能。如果當前位置是在包或項目上,Eclipse會搜尋出當前位置所包含的所有可執行程式,然後由程式員自己選擇運行那一個。
<br /><br />在目前的Eclipse的Release和Stable版本中預設安裝了外掛程式開發環境(Plug-in Development Environment,即PDE,它本身也是一個外掛程式),此時系統除了"Java Applicantion" 運行方式,可能還有另外兩種方式:"Run-time WorkBench"和"Run-time WorkBench with Tracing",當用PDE開發外掛程式的時候會用到這兩種運行方式,在下面我們也有提到。 <br /><br /><font color="#0000cc">4.
版本管理</font> <br /><br />可以把Eclipse的版本管理分為個人(或稱為本地)和團隊兩種。 <br /><br />Eclipse提供了強大的個人版本管理機制,每一次被儲存的更改都可以得到恢複。而且可以精確到每一個方法的版本恢複。操作也十分方便,在任何一個能看到所要操作檔案的觀察視窗中,例如資源瀏覽視窗,選中該檔案,點擊右滑鼠鍵,選擇Compare with或Replace with,如果是恢複已經被刪除的方法則可以選擇Add from local history,之後相應的本地記錄就會顯示出來,按照你的需求找到相應的版本就可以了。強大的個人版本管理功能為程式員提供了更多的信心:只管編下去,任何不小心的錯誤都可以恢複,在Eclipse下開發,是有"後悔藥"的!
<br /><br />Eclipse預設為版本管理工具CVS提供了介面,可以非常方便的串連到CVS伺服器上。通過CVS版本管理,Eclipse為團隊開發提供良好的環境。要串連CVS伺服器需要先開啟團隊視圖(Team Perspective),然後在Reponsitories觀察視窗中點擊滑鼠右鍵並選擇建立(New),在開啟的對話方塊中可以填入要串連的CVS庫所需要的資訊,如CVS伺服器類型,目前Eclipse支援三種方式:pserver、extssh和ext,還要填入使用者名稱,主機名稱,密碼,reponsitory地址等資訊。
<br /><br />在Eclipse中使用CVS需要注意的是一些術語和功能的變化,CVS中的Branch這裡被稱為Stream,取消了CVS中check out、import和commit等功能,統統用滑鼠右鍵菜單中的Team->Synchronized with Stream來替代。這些功能都通過圖形介面完成,在每次操作中都會有當前檔案和以前各個版本的比較視窗,操作非常直觀,易於掌握,因此這裡也就不再做進一步介紹了。 <br /><br /><font color="#0000cc">5. 使用外掛程式</font>
<br /><br />使用外掛程式可以豐富Eclipse的功能。下面將介紹如何應用外掛程式來嵌入Tomcat伺服器。這個外掛程式並不是Eclipse項目組開發的,而是一家叫sysdeo的公司開發,非常小巧,只有27.8K。你可以到http://www.sysdeo.com/eclipse/tomcatPlugin.html去免費下載。另外,這個外掛程式只支援Tomat4.0以上的版本,可以在www.apache.org得到Tomcat的最新版本。 <br /><br />要安裝外掛程式只需將下載的zip檔案按原路徑解壓到"你的Eclipse的安裝路徑/plugins"下面,然後重新啟動Eclipse。啟動後在功能表列上選擇PerspectiveàCustomize,在開啟的對話方塊中選中OtheràTomcat。之後馬上會發現Eclipse有了兩處變化:功能表列中多了一個Tomcat選項,工具列中多了兩個按鈕,上面是大家可能非常熟悉的Tomcat小貓,如三。除此之外,在功能表列中選擇:WorkbenchàPreferences,開啟對話方塊後會發現這也多了一個Tomcat選項,在這裡要求指定你的Tomcat安裝根路徑。之後還要檢查一下在Preferences對話方塊中的JavaàInstalled
JRE所指定的JRE和啟動Tomcat的JRE是否為同一個JRE,如果不是,可能會導致Tomat不能正常啟動。如果以上檢查沒有問題,就可以用工具列上的"小貓"直接起動Tomcat了。要注意的是,啟動過程很慢,要耐心等到以下資訊出現: <br />Starting service Tomcat-Standalone<br />Apache Tomcat/4.0.1<br />Starting service Tomcat-Apache<br />Apache Tomcat/4.0.1<br /><ccid_nobr></font><br
/><br /><font size="2">之後就可以在外部瀏覽器(如IE)中輸入http://localhost:8080來測試Tomcat是否正常。 <br /><br /></font> <center><font size="2"><img src="/images/blog_csdn_net/arielxp/16130/r_Eclipse3.gif" /> <br /><br />圖三</font></center><br /><br /><font size="2">如果啟動正常,可以進一步嘗試在Eclipse中調試Servlet或JSP程式。下面我們將用Tomcat內建的Servlet常式HelloWorldExample.java來示範一下如何在Eclipse中調試Sevlet程式。
<br /><br />首先要在Java視圖中建立一個Java項目,為了方便,可以直接將項目路徑指定到HelloWorldExmaple程式所在路徑,四: <br /><br /></font> <center><font size="2"><img src="/images/blog_csdn_net/arielxp/16130/r_Eclipse4.gif" /> <br /><br />圖四</font></center><br /><br /><font size="2">之後按"Next",進入Java
Settings對話方塊,選擇Libraries標籤,並用Add External JARs按鈕來指定Servlet.jar包的位置。這裡直接用了Tomcat中的Servlet.jar包。五: <br /><br /></font> <center><font size="2"><img src="/images/blog_csdn_net/arielxp/16130/r_Eclipse5.gif" /> <br /><br />圖五 </font></center><br /><br /><font size="2">最後,點擊"Finish"完成項目的產生。在新產生項目中的default
package可以找到HelloWorldExample.java,雙擊開啟檔案,並可嘗試給HelloWorldExample加上一個斷點(雙擊編輯視窗左側邊界)。之後在外部瀏覽器中輸入http://localhost:8080/examples/servlet/HelloWorldExample,再回過來看Eclipse發生了什麼變化,是一個調試視窗呀!在Eclipse中進行的調試操作和絕大多數的IDE大同小異,如設定斷點,單步跟蹤,變數值察看等等,在這裡也就不用再詳述了。 </font></font></span>