| 級別: 初級 Chris Aniszczyk, 軟件工程師, IBM Phil Crosby, 學(xué)生, University of Maryland, College Park
2006 年 3 月 13 日 Eclipse 的持續發(fā)展意味著(zhù)需要管理的項目和插件的數量一直在增長(cháng)。為了跟上最新的 Eclipse 版本,這個(gè)管理過(guò)程會(huì )使開(kāi)發(fā)人員感到灰心。對于新用戶(hù)來(lái)說(shuō),項目、插件、工作區和安裝的概念首先就可能使之感到畏縮。本文將介紹管理 Eclipse 環(huán)境的最佳實(shí)踐。 管理插件 什么是插件?為什么我需要關(guān)心插件? 插件(plug-in,也稱(chēng)為 bundle)是 Eclipse 的功能塊。在 Eclipse 中,所有的一切都有其相應的插件,這包括: - 透視圖和視圖
- 編輯器
- 建模工具
- 登錄和其他核心功能
事實(shí)上,整個(gè) Eclipse IDE 就是被構建為一個(gè)大的插件集合。其他基于 Eclipse 的產(chǎn)品,例如 IBM Rational? Software Architect,通過(guò)添加新插件增強了基本的 Eclipse。 一組相關(guān)的插件組成特性。特性和它們的插件存在于 Eclipse 程序目錄中(在這個(gè)例子中,Eclipse 被安裝在 /opt/eclipse 目錄中)。下面是目錄布局的一個(gè)示例: 清單 1. Eclipse 特性和插件目錄結構 /opt/eclipse/ features/ org.eclipse.jdt_3.1.1/ feature.xml ... plugins/ org.eclipse.jdt.ui_3.1.1.jar ... | Eclipse 可以有許多相同的插件,針對每個(gè)不同的版本有一個(gè)這樣的插件。它知道如何解決插件依賴(lài)性、避免版本沖突,因此您永遠不必擔心同時(shí)安裝兩個(gè) Subclipse 插件。 在長(cháng)期使用 Eclipse 的過(guò)程中,您總是會(huì )通過(guò)下載第三方插件或是創(chuàng )建您自己的插件來(lái)增加新的功能??绮煌?Eclipse 版本管理這些插件可能是個(gè)麻煩。因為插件存在于 Eclipse 程序目錄中,所以如果您安裝 Eclipse 的新版本,它們就會(huì )丟失。這意味著(zhù)如果您有多個(gè) Eclipse 安裝,就必須保存大量插件的多個(gè)副本;甚至,在每次想要升級 Eclipse 時(shí),您只能很麻煩地全部重新安裝。 如果將插件存儲于 Eclipse 程序目錄以外的獨立位置,當升級到 Eclipse 的新版本時(shí),就不需要重新安裝它們,而且,可以跨多個(gè) Eclipse 版本共享插件。 實(shí)施控制:方法 1 —— 手動(dòng)的文件系統擴展 有三種方法對插件實(shí)施控制。第一種方法是手動(dòng)創(chuàng )建一個(gè)可以保存插件的目錄(稱(chēng)之為產(chǎn)品擴展),將插件移到該目錄,然后告訴 Eclipse 在這里尋找特性和插件。 在我們的例子中,我們會(huì )創(chuàng )建一個(gè)名為 /opt/eclipse-plugins 的位置用來(lái)存儲插件。為了讓 Eclipse 在這里存儲插件,您必須首先創(chuàng )建如下的目錄結構和文件: 清單 2. Eclipse 產(chǎn)品擴展目錄結構 /opt/eclipse-plugins/ eclipse/ .eclipseextension features/ plugins/ | 注意,除了創(chuàng )建這些目錄以外,您還必須在 eclipse 目錄(在我們的例子中,是指 /opt/eclipse-plugins/eclipse)中創(chuàng )建一個(gè)名為 .eclipseextension 的文件。這個(gè)文件讓 Eclipse 知道在這里可以找到擴展。它應該有如下內容: id=org.eclipse.platform name=Eclipse Platform version=3.1.1 | .eclipseextension 文件中的 version 屬性應該設置為使用這個(gè)產(chǎn)品擴展的 Eclipse 的版本。該屬性可以是特定的(3.1.1)、比較一般的(3.0.0)或者非常一般的(1.0.0)。在撰寫(xiě)本文時(shí),版本號似乎對產(chǎn)品擴展的功能并沒(méi)有任何影響。 注意,如果您使用的是 Windows?,則無(wú)法通過(guò) Explorer shell 創(chuàng )建 .eclipseextension 文件。通過(guò)打開(kāi) NotePad,輸入文件的內容,并將其保存為 .eclipseextension(確保文件類(lèi)型選中為 “所有文件”,否則 Notepad 將會(huì )在文件名后添加 .txt),可以創(chuàng )建這樣的文件。 下一件事是將這個(gè)插件位置告訴 Eclipse,以便它知道以后在這里尋找插件。選擇 Help > Software Updates > Manager Configuration 得到 Product Configuration Manager,在這里完成這項工作。 使用 Product Configuration Manager,您可以添加新的 Eclipse 擴展。為了啟用上面創(chuàng )建的擴展(/opt/eclipse-plugins),我們需要將它作為一個(gè)擴展位置添加。每一個(gè)人都已經(jīng)有一個(gè)擴展位置,那就是 Eclipse 安裝中的插件文件夾。在 Eclipse Platform 上右擊,選擇 Add > Extension Location 就可以添加另一個(gè)擴展。 圖 1. 添加擴展位置 一旦您已經(jīng)選中了插件所在的目錄,插件就會(huì )顯示在產(chǎn)品擴展的列表中。在這里,您可以檢驗插件是否已找到。 圖 2. 查看一個(gè)擴展位置中的插件 Product Configuration 屏幕好的方面是,您可以很容易地禁用整個(gè)插件位置 —— 這在進(jìn)行插件開(kāi)發(fā)和測試不同配置時(shí)很有用。 實(shí)施控制:方法 2 —— 通過(guò) Configuration Manager 添加產(chǎn)品擴展 不必在文件系統中創(chuàng )建文件夾和 .eclipseextension 文件,您可以讓 Eclipse 為您創(chuàng )建產(chǎn)品擴展。 您可以在 Update Manager(Help > Software Updates > Find and Install)中創(chuàng )建新的產(chǎn)品擴展。在安裝新的插件時(shí),Eclipse 最終會(huì )提示您所要安裝的位置。在這里,您可以單擊 Change Location 以選擇一個(gè)產(chǎn)品擴展。 圖 3. 選擇插件的安裝位置 選擇 Add Location。當您選定一個(gè)目錄時(shí),Eclipse 將在那里為您創(chuàng )建一個(gè)產(chǎn)品擴展。 圖 4. 通過(guò) Update Manager 創(chuàng )建一個(gè)新的產(chǎn)品擴展 當您以后安裝插件時(shí),確保它們是被安裝到您所想要的插件擴展地點(diǎn)(參見(jiàn)圖 3 中的 Install Location 區域) 實(shí)施控制:方法 3 —— 創(chuàng )建管理產(chǎn)品擴展的 links 文件夾 如果在您的文件系統中已經(jīng)有了產(chǎn)品擴展,例如我們在 方法 1 中創(chuàng )建的那個(gè),那么您可以在 Eclipse 程序目錄中創(chuàng )建一些簡(jiǎn)單的文件,告知 Eclipse 需要檢查這些目錄以尋找插件。 首先,在 Eclipse 安裝文件夾(例如 /opt/eclipse)中創(chuàng )建一個(gè)名為 links 的目錄。在這個(gè)目錄中,您可以創(chuàng )建 *.link 文件(例如 emfPlugins.link)。每一個(gè)鏈接文件指向一個(gè)產(chǎn)品擴展位置。Eclipse 會(huì )在啟動(dòng)時(shí)掃描這個(gè) links 文件夾,并在每個(gè)鏈接文件中所指向的產(chǎn)品擴展中尋找插件。下面是一個(gè)使用 links 文件夾的 Eclipse 安裝布局的例子: 清單 3. 使用 links 文件夾的 Eclipse 安裝布局 /opt/eclipse/ links/ emfPlugins.link webtools.link updateManager.link ... ... | 鏈接文件的內容看上去應該像下面這樣: | Windows 在本文中,我們著(zhù)重介紹 Eclipse 的 Linux? 安裝。所有提供的示例清單對于 Windows 都是有效的。您僅僅需要將路徑替換為相應的 windows 路徑。另外請注意,在 Windows 中,路徑中需要使用雙反斜杠(例如 path=c:\\plugins\\emf)。 | | /opt/plugins/emf/ 有一個(gè) Eclipse 產(chǎn)品擴展的目錄結構,如 清單 1 所示。 這個(gè)方法的優(yōu)勢在于,所有的插件位置被作為一個(gè)文件夾中的文本文件來(lái)存儲。這意味著(zhù)您可以通過(guò)簡(jiǎn)單地將 links 文件夾復制到新的 Eclipse 安裝中,來(lái)升級 Eclipse 并使其指向您的產(chǎn)品擴展文件夾。您也可以通過(guò)從每個(gè) Eclipse 安裝建立一個(gè)到 links 文件夾的符號鏈接,獲得一個(gè)針對所有 Eclipse 安裝的公用 links 文件夾(如果您的文件系統支持符號鏈接)。
管理 Eclipse 工作區 在 Eclipse 中,工作區的概念被簡(jiǎn)單地描述成可以通過(guò)插件訪(fǎng)問(wèn)的資源的容器。工作區是終端用戶(hù)和 Eclipse 平臺之間交互的樞紐。終端用戶(hù)能夠在工作區中創(chuàng )建項目并處理其中的內容。工作區本身作為一個(gè)目錄存在于文件系統中,并且只局限于每個(gè) Eclipse 實(shí)例使用一個(gè)。工作區還包含一個(gè) .metadata 目錄,用來(lái)持久存儲諸如插件狀態(tài)這樣的私有信息。 為什么我需要多個(gè) Eclipse 工作區? 簡(jiǎn)單的答案是為了性能。工作區中的項目越多,達到開(kāi)發(fā)系統所能處理項目的臨界點(diǎn)的機會(huì )就越大。為了解決這個(gè)問(wèn)題,您可以通過(guò) -data 參數劃分 Eclipse 工作區,這個(gè)參數被傳遞給 Eclipse 可執行文件(例如 /opt/eclipse/eclipse): 清單 4. 指定不同的工作區 /opt/eclipse-3.1/eclipse -data /opt/workspaces/web /opt/eclipse-3.2M2/eclipse -data /opt/workspaces/web /opt/eclipse-3.2M2/eclipse -data /opt/workspaces/dev -vmargs -Xmx512m | | 工作區提示 您可以通過(guò)向 Eclipse 可執行文件傳遞 -showlocation 參數來(lái)顯示工作區位置。此外,您還可以通過(guò) -vmargs -Xms 和 Xmx 參數為不同的工作區指定不同的性能特征。 | | 您也可以通過(guò)從 Eclipse 中選擇 File > Switch Workspace 切換工作區,而不必重新啟動(dòng) Eclipse。 還有一種可能的情況是,您有一個(gè) “研究” 工作區。在這個(gè)工作區中,您需要使用 Open Type(Ctrl+Shift+T)等由 Eclipse 對載入的大代碼庫的代碼仔細搜尋一遍。如果您試圖學(xué)習一些例子,或者您曾經(jīng)想知道一個(gè)開(kāi)放源碼項目是如何處理特定問(wèn)題的,那么這種方法是極其有用的。 有多個(gè)工作區的不利方面在于需要在它們之間共享開(kāi)發(fā)首選項。因為首選項被持久存儲在 Eclipse 中的一個(gè)工作區中,所以您必須導出工作區的首選項并將它們導入您所要求的工作區中(File > Export > Preferences)。
管理 Eclipse 安裝 為什么我需要多個(gè) Eclipse 安裝? 如果您使用多個(gè)基于 Eclipse 的產(chǎn)品,就必然需要多個(gè) Eclipse 安裝。例如,如果您使用基本的 Eclipse V3.1 來(lái)完成日常的 Java? 語(yǔ)言編程,并使用帶有 WebTool 的 Eclipse 來(lái)編寫(xiě) IBM WebSphere? 應用程序,那么您就有兩個(gè)完全獨立的 Eclipse 安裝。在這些基于 Eclipse 的產(chǎn)品之間共享插件和工作區可以節約時(shí)間,并避免一些升級帶來(lái)的麻煩。 您在開(kāi)發(fā) Eclipse 的插件時(shí)也需要多個(gè) Eclipse 安裝。當有了多個(gè) Eclipse 安裝時(shí),您可以跨不同的 Eclipse 版本測試您的插件的功能。您也可以將一組不同的插件對應不同的 Eclipse 安裝,以便跨多個(gè)環(huán)境配置測試您的插件。 注意,通過(guò)在 Eclipse 中選擇 Help > Software Updates > Manage Configuration,來(lái)考察 Eclipse IDE(它啟用和禁用屬于這些特性的插件)中的特性,可以管理哪些插件由 Eclipse 使用。在開(kāi)發(fā)自己的插件時(shí),您也可以通過(guò) Run Configuration Manager 來(lái)管理運行 Eclipse 測試實(shí)例時(shí)哪些插件被啟用。我們通常的經(jīng)驗是,使用多個(gè) Eclipse 安裝是管理多個(gè) Eclipse 版本和配置最方便且最便于重用的方法,對于測試目的尤其如此。 多個(gè) Eclipse 安裝 Eclipse 安裝獨立存在于它們自己的文件夾中。要使得多個(gè)安裝并存,只要下載您所要的 Eclipse 產(chǎn)品和版本并將其解壓到它們自己的目錄中即可。下面是一個(gè)用來(lái)跨不同 Eclipse 版本測試插件的示例布局: /opt/eclipse-3.0 /opt/eclipse-3.1 /opt/eclipse-3.2-m1 | 對于節約所有當前安裝的插件安裝時(shí)間和避免工作區重復,盡可能地跨 Eclipse 安裝進(jìn)行共享是一個(gè)好主意。正如我們前面所講述的,您可以共享以下內容: - 插件 —— 有一個(gè)(或多個(gè))供所有安裝共同使用的公用的插件文件夾。最好的方法是按照 實(shí)施控制:方法 3 中所講述的那樣創(chuàng )建一個(gè) links 文件夾。
- 工作區 —— 參見(jiàn) 管理 Eclipse 工作區
- 工作區首選項 —— 與工作區綁定的首選項。從 Eclipse 中選擇 File > Export > Preferences。
注意,跨 Eclipse 安裝共享工作區和首選項可能會(huì )有問(wèn)題,尤其是當 Eclipse 版本的主編號不同時(shí)(例如 3.1 和 3.2)。
結束語(yǔ) 我們的目的有兩個(gè):初步介紹 Eclipse 的基本工作要素,比如插件、項目和工作區;告訴您管理多個(gè) Eclipse 環(huán)境的好處以及一些不利方面。我們希望您能夠接受這些知識并將其應用到您的實(shí)踐中以節約 Eclipse 維護的時(shí)間。
|