Eclipse 可以與任何一種IDE匹敵,甚至比它們還要好。Eclipse 有代碼補足、代碼模板的功能,以及對重構、Ant、CVS 和 JUnit 的支援。除了這些準系統之外,Eclipse 的優點之一就是它的原始碼是開放的,可擴充性很好,可以擴充很多外掛程式,開源外掛程式和商業外掛程式都可以用來擴充 Eclipse。如果使用者需要基本的 Eclipse IDE 所不具備的特性,一般都可以找到需要的外掛程式。在大部分情況下,使用者都可以找到免費的外掛程式。
由於 Eclipse 的流行性和開源特性,它已經在 IDE 領域成為一把尖刀,一方面,Eclipse在一步一步完善自己的功能,另一方面,Eclipse正在大刀闊斧搶佔IDE開發的應用領域。資料表明Eclipse是現在最流行的Java開發環境之一,為了更好的使用Eclipse進行開發,就有必要瞭解Eclipse外掛程式的機制,以及如何安裝和使用外掛程式。
Eclipse外掛程式
Eclipse 是一個已經完全設計好的平台,是用於構建和整合應用的開發工具。平台本身不會提供大量的終端使用者功能,平台的價值在於它的促進作用:根據外掛程式模型來快速開發整合功能組件。平台本身是內建在外掛程式層中的,每個外掛程式定義下層外掛程式的擴充,同時對自己的擴充進行進一步的定製。每種類型的擴充允許外掛程式開發人員向基本工具平台添加各種功能,每個外掛程式的組件(例如檔案和其他資料)由公用平台資源來協調。Eclipse最有魅力的地方就是它的外掛程式體繫結構,由於有了外掛程式,Eclipse系統的核心部分在啟動的時候要完成的工作十分簡單:啟動平台的基礎部分和尋找系統的外掛程式。
Eclipse的核心是動態發現、懶惰裝入(Lazy)與啟動並執行,平台使用者介面提供標準的使用者導航模型。於是每個外掛程式可以專註於執行少量的任務,例如定義、測試、製作動畫、發布、編譯、調試和圖解等,只要使用者能想象得到的就會應有盡有。
當Eclipse外掛程式實現了一個擴充點,就建立了一個擴充,此外,使用此擴充點的外掛程式還可以建立自己的擴充點。這種外掛程式模式的擴充和擴充點是遞迴的,而且被證明是非常靈活的。事實上,Eclipse核心就是構建在外掛程式之上的,這樣隨著使用Eclipse構建Eclipse外掛程式的累積,這種外掛程式模式就變得日漸成熟。
外掛程式安裝注意事項
初學者可能會對外掛程式有恐懼心理,認為這是Eclipse底層的東西。其實不然,安裝外掛程式非常容易,安裝外掛程式時注意如下的幾個問題就可以了。
1. 外掛程式的依賴關係
如果使用者要安裝的外掛程式還需要其他外掛程式的支援,則需要安裝依賴的外掛程式才能使新安裝的外掛程式正常運行。例如使用者要安裝一個圖形編輯的外掛程式,但此外掛程式需要圖形編輯架構(GEF)外掛程式的支援,只有先安裝了GEF才能使新的外掛程式安裝成功。
2. 緩衝
Eclipse會通過緩衝的機制載入外掛程式,有時使用者剛安裝的外掛程式可能沒有正常啟動(特別是links方式安裝),清除緩衝後再重新啟動Eclipse就行了。清除緩衝最簡單的方式是刪除Eclipse的configuration目錄下的所有檔案夾(保留config.ini檔案),還可以通過啟動參數-clean啟動。
注意:如果是通過Update方式安裝的外掛程式,不能把Update方式安裝的目錄刪除掉,否則這種方式安裝的外掛程式啟動不了了。
3. 版本
當使用者安裝的外掛程式要求某一個特定版本的Eclipse,或依賴某個特定版本的外掛程式時,也可能會使外掛程式安裝不成功。
安裝外掛程式要和依賴外掛程式的版本號碼和依賴的Eclipse版本號碼對應,例如要安裝的圖形編輯外掛程式依賴GEF 外掛程式,版本號碼為3.2,而GEF 3.2隻能在Eclipse3.2及更高版本運行,所以只有安裝了GEF 3.2和Eclipse3.2才能正確安裝此圖形編輯外掛程式。
使用者在安裝外掛程式之前,要看看外掛程式依賴的外掛程式列表和特定版本資訊的協助文檔。通常在外掛程式發布時,同時會發布一個外掛程式依賴的列表,有了這些資訊,使用者就可以正確安裝外掛程式了。
外掛程式安裝
Eclipse是通過一種非常“乾淨”的安裝方式進行安裝的,不會因為安裝Eclipse而影響其它軟體的運行,安裝Eclipse的外掛程式也是如此。
外掛程式的安裝方式分為:拷貝安裝、links安裝和update安裝,它們各有特色,下面分別介紹這幾種安裝方式:
拷貝安裝
拷貝安裝是一種最簡單的安裝外掛程式方式,使用者只要把外掛程式的壓縮檔解壓以後拷貝到Eclipse的安裝目錄即可。例如,“GEF-ALL-3.1.zip”是GEF外掛程式的壓縮包,其中包含了Eclipse目錄,Eclipse目錄下麵包含了plugins目錄和features目錄等,1所示。
圖1 GEF外掛程式壓縮包結構
使用者可以解壓以後把plugins目錄和features目錄拷貝到安裝Eclipse的根目錄即可。拷貝到Eclipse根目錄後,安裝就已經完成了,如果要安裝外掛程式正確,以及此外掛程式所依賴的第三方外掛程式和Eclipse的版本正確,重新啟動Eclipse就可以看到新安裝外掛程式的運行效果。
links安裝
通過links方式安裝外掛程式是一種既“乾淨”又有效安裝方式,也是筆者極力推薦的一種安裝方式。試想一下,通過拷貝的安裝方式安裝外掛程式,如果同一個Eclipse下安裝的外掛程式太多,想刪除某幾個外掛程式怎麼辦?使用者就得在Eclipse的plugins目錄中找到所有外掛程式目錄,把它們一一刪除掉,另外,還得刪除feature下的所有相關安裝選項,這是多麼痛苦的事情呀。
links安裝方式為使用者解除了這種煩惱,通過links安裝方式,使用者不需要把所有的外掛程式都拷貝在Eclipse目錄中,只需要編寫一個文字檔,通過檔案指定外掛程式的位置,讓Eclipse找到所指的外掛程式目錄就可以了。當使用者要刪除外掛程式時,只需要刪除文字檔或文字檔中引用的外掛程式即可,通過links安裝外掛程式的步驟如下:
1. 在Eclipse目錄(ECLIPSE_HOME)下建立一個links目錄。
2. 在ECLIPSE_HOME%\links目錄下建立一個link檔案(只要是文字檔就可以)。
3. 把link檔案指向外掛程式所在的目錄,例如檔案內容為“path=D:/Program/java/eclipse/Plugin-download /GEF-ALL-3.1”,路徑的分隔字元為“/”或“\\”。一個檔案中可以指向幾個外掛程式,即在同一個檔案中多寫幾行“path=…”即可。也可以在links目錄下面多寫幾個link檔案,筆者是通過把每一個外掛程式寫到一個檔案的方式安裝外掛程式的,這樣刪除外掛程式時可直觀地刪除檔案,2所示。
圖2 links方式安裝外掛程式
4. 外掛程式所在目錄結構和外掛程式在Eclipse中的目錄結構一樣,例如GEF外掛程式解壓以後的結構為“GEF-ALL-3.1/eclipse/…”,link檔案指向“GEF-ALL-3.1”所在目錄即可,Eclipse啟動以後會找到“GEF-ALL-3.1”目錄下Eclipse子目錄中所有的外掛程式。下面為一個link檔案中的內容:
path=D:/myplugin/tptp
path=D:/myplugin/wtp
path=../birt
path可以是外掛程式的絕對路徑,還可是相對於Eclipse安裝目錄的相對路徑,如“path=../birt”。使用者如果要刪除相關外掛程式,可以刪除link檔案或刪除檔案中的引用,也可以刪除一個link檔案中外掛程式path所在行,即刪除外掛程式引用就行。
提示:刪除link檔案或links目錄後,重新啟動Eclipse有可能會失敗,清除Eclipse的緩衝即可。
update安裝
除了拷貝安裝方式和links安裝方式外,Eclipse還能通過網路安裝外掛程式。這種方式操作簡單,使用者只要知道外掛程式的更新地址就可以。通過解析更新地址的XML檔案,Eclipse知道要到什麼位置找到外掛程式更新包。另外,Eclipse還能判斷當前安裝外掛程式的版本是否正確。
通過update方式安裝外掛程式非常簡單,具體步驟如下。
1. 選擇“Help”→“Software Updates”→“Find and Install”菜單,彈出對話方塊3所示。
圖3 尋找新的Update網站
2. 選擇第二項,單擊“Next”按鈕,開啟顯示Update網站的對話方塊,4所示。
圖4 顯示Update網站
3. 在顯示網站對話方塊單擊“New Remote Site”按鈕,開啟指定Update網站的對話方塊,5所示。
圖5 添加新的Update網站
4. 添加新的網站後,按Eclipse的更新嚮導就可以完成外掛程式安裝了。
提示:也有很多開發人員喜歡通過update方式安裝外掛程式,這種方式安裝簡單,而且Eclipse嚮導會負責尋找當前外掛程式的依賴外掛程式是否存在,從而確保外掛程式安裝是否成功。
查看外掛程式
使用者安裝了外掛程式後,如果想確認外掛程式是否安裝成功,可以重新啟動Eclipse,尋找外掛程式是否載入,查看外掛程式步驟如下。
1. 選擇“Help”→“About Eclipse SDK”菜單,彈出的對話方塊6所示。
圖6 About對話方塊
2. 單擊“Plug-in Details”按鈕,如果外掛程式安裝成功,將會顯示在外掛程式對話方塊中(所有成功安裝的外掛程式都會顯示在此對話方塊中),7所示。
圖7 外掛程式列表對話方塊
如果安裝不成功,參照前面介紹的辦法診斷安裝的步驟是否有誤,或清空Eclipse的緩衝重新啟動試試。
通常,Eclipse的安裝就如上介紹的這幾種方式,但有些商業外掛程式可能會通過安裝程式安裝外掛程式(例如MyEclipse),實際上原理也是相同的。