Eclipse Ganymede 發行版包含 24 個獨立專案。本系列三部曲介紹新特性:RCP(桌面)、RAP(Web)、eRCP(行動裝置),以及 Subversion 版本控制與 p2 更新安裝。第 1 部分(本教程)涵蓋 RCP 新特性、Subversion 整合、p2 打包分發系統。為示範新特性,您將開發簡單 RCP 應用程式——備忘記事本,並用其探索新功能。
適合想了解 Ganymede 新功能的 Eclipse 開發者,以及有興趣使用通用程式碼庫開發多平台部署應用程式的人員。需會使用 Java 程式設計,熟悉 Eclipse 平台與外掛模型。
Ganymede 代表 Eclipse 下一增量版本,意味著全新安裝。Eclipse 網站提供比較圖表(見圖 1)供選擇適合開發需求的套件。本系列目的下載 RCP/Plug-in 版本,包含開發部署 RCP 應用程式所需一切(見圖 2)。選擇適用作業系統版本、鏡像站下載(檔案近 200 MB,請耐心)。

下載完成解壓縮至所需安裝位置,雙擊 Eclipse 啟動。選擇工作空間,顯示歡迎頁面。選擇 Workbench 圖示(歡迎畫面最右側箭頭,見圖 3)進入工作台。

下節將介紹 RCP 的增量改進。注意:雖然安裝了 Ganymede,但並非所有 Ganymede 套件皆隨安裝包自動分發。Subversion 因授權限制需從 Eclipse 內單獨下載安裝。
原始碼控制是重要軟體開發工作的核心,尤其支援跨地域分散式團隊開發。Subversion 是開源版控系統,被視為 CVS 繼任者。Eclipse 的 Subversion 支援多年來透過第三方外掛提供,最流行為 Subversive。Ganymede 專案接手 Subversive 開發並加入核心庫,但未解決的法律問題阻止其隨安裝包分發,仍需從 Eclipse 內單獨安裝。
Subversive 分兩部分,皆需單獨安裝:
安裝步驟:
https://download.eclipse.org/technology/subversive/0.7/update-site/ 點擊 OK。https://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/。

Subversion 如 CVS 為基於伺服器的原始碼庫,適合分散式團隊協作。伺服器部分不屬 Eclipse,架設超出本教程範圍,但有多種方式運行(如使用 Apache)。
擁有可用 Subversion 伺服器後,設定專案使用 Subversive 管理原始碼:

Eclipse 顯示提交畫面(見圖 10),專案所有檔案預設勾選,可選擇不簽入特定檔案。輸入初始簽入註釋(良好習慣),點擊 OK。備忘記事本程式碼需全選。

若使用 Subversion WebDAV 版本(如透過 Apache),可用瀏覽器檢視儲存庫結構:輸入相同 URL 與認證,透過超連結瀏覽目錄樹。

Package Explorer 現顯示專案已與 Subversion 綁定,每個檔案旁有修訂編號,專案名旁有儲存庫名稱。

如 CVS,可從 Team 上下文選單存取 Subversion 功能。常用命令(見圖 13):

刪除檔案:從 Package Explorer 正常刪除,再提交父目錄。Commit 前可檢查所有變更。Subversion 採樂觀鎖定:本地自由編輯,完成後簽入,衝突於簽入時解決。
使用 Eclipse 精靈建立 RCP 框架、加入邏輯程式碼並運行,建立簡單單視圖 RCP 應用程式——備忘記事本。
com.devworks.tutorial.po(Personal Organizer),使用預設位置。勾選 Create a Java Project,保留 src/bin 資料夾名稱。Target Platform 選 Eclipse version 下拉選 3.4。Add project to working sets 留空,點擊 Next。
繼續 Plug-in Content 畫面(見圖 15),輸入外掛資訊寫入 Manifest:
com.devworks.tutorial.po1.0.0Po Plug-inDEVWORKSJavaSE-1.6com.devworks.tutorial.po.Activator

選擇 RCP Application with a View 範本(專案有視覺元件),點擊 Next。

最後畫面 Single View RCP application(見圖 18):
Personal Organizercom.devworks.tutorial.poTaskOrganizerApplication
Eclipse 詢問是否切換至 Plug-in Development 透視圖(包含所需所有視圖),選 Yes。精靈完成產生單視圖 RCP 範本檔案與標準目錄結構。

Package Explorer src 下列出範本檔案功能:
Activator:外掛啟動點TaskOrganizerApplication:實作 Application 定義生命週期ApplicationActionBarAdvisor:管理視窗動作生命週期ApplicationWorkbenchAdvisor:初始化透視圖ApplicationWorkbenchWindowAdvisor:視窗視覺層面(大小、狀態列、選單列等)Perspective:應用程式可見視圖與編輯器View:含三個元素的簡單 Table Viewericons 資料夾含圖示位圖資源;splash.bmp 為啟動畫面圖形。範本檔案是建立 RCP 外掛的絕佳起點,實際上已形成完整應用程式(雖功能簡單),可立即運行:Package Explorer 高亮專案名稱,右鍵 Run As > Eclipse Application,見到啟動畫面後出現帶三元素的樹狀視圖。

備忘記事本提供任務列表畫面,每項任務含描述、優先級、擁有者、完成百分比。具備新增/刪除任務按鈕與關閉應用程式按鈕。預先填充十個範例任務。為簡單起見,輸入資料不持久化於會話間。程式碼細節非教程重點,建議下載原始碼。許多範本檔案無需更改,主要修改視圖相關檔案。
View 套件下建立新套件,將範本建立的 View 類別移入並重命名為 PersonalTaskView。META-INF/MANIFEST.MF 切換 Extensions 分頁(見圖 21),展開 org.eclipse.ui.views 高亮 View 類別,右側屬性改為 com.devworks.tutorial.po.view.PersonalTaskView,名稱改為 PersonalTaskView,儲存。
模型物件稱為 PersonalTaskModel(見清單 1),定義任務結構、運行方法與初始範例資料。
定義 TableViewer(保存任務列表的建構塊)。建立涉及:創建 TableViewer、加入 Content/Label Provider、初始化 PersonalTaskModel 設為 TableViewer 輸入(見清單 2)。
PersonalTaskContentProvider:提供 TableViewer 顯示元素,定義基本操作PersonalTaskLabelProvider:提供表格欄位標籤與圖示(見清單 3)TaskCellModifier:抽象方式從 CellEditor 存取資料模型PersonalTaskSorter:依排序類型比較元素(見清單 4)PersonalTaskView:擴展 ViewPart 的視圖類別(見清單 5)Perspective:在透視圖中顯示此視圖(見清單 6)運行應用程式(Run > Eclipse Application),啟動畫面後見到預先填充範例任務的任務管理器。

恭喜!已建立可在桌面環境運行的簡單 RCP 外掛。
舊版 RCP 分發外掛限於目標目錄可用項目。Ganymede 可精確指定所需外掛,獲得更精確分發版。本節打包應用程式,僅含運行所需內容。
com.devworks.tutorial.po,檔名 TaskOrganizer.product。Initialize the file content 選 Create a configuration file with basic settings,點擊 Finish。

Eclipse 建立 TaskOrganizer.product,編輯器顯示 Overview 分頁配置範本:
Personal Organizercom.devworks.tutorial.po.product1.0.0com.devworks.tutorial.po.application(從下拉選單選擇)切換 Configuration 分頁添加所需外掛(見圖 25):點擊 Add 選擇 com.devworks.tutorial.po。外掛顯示於清單(見圖 26)。點擊 Add required plug-ins,Eclipse 自動添加所有從屬外掛(見圖 27)。

下節將介紹 Launching、Splash、Branding 分頁設定、產品匯出、跨平台部署與 p2 分發。