導(dǎo)出Eclipse RCP項(xiàng)目心得
Posted on 2006-03-31 13:18 nemo 閱讀(6387) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): EclipseRCP/SWT/JFACE???????? 搞了整整兩天才終于將項(xiàng)目從 Eclipse 中導(dǎo)了出來(lái),網(wǎng)上雖然有許多可供參考的標(biāo)準(zhǔn)導(dǎo)出步驟,但對(duì)于具體的項(xiàng)目來(lái)說(shuō)可能會(huì)因?yàn)榘姹镜牟煌蛘呤遣寮牟煌a(chǎn)生各種各樣的問(wèn)題。下面是我在導(dǎo)出 RCP 程序過(guò)程中的一些心得,希望對(duì)大家 有些幫助。
- 有樣學(xué)樣法則真的是很重要,特別是當(dāng)你無(wú)法馬上理解 Eclipse 內(nèi)部機(jī)制的時(shí)候更是如此。自己一個(gè)人摸索很久還不如照著現(xiàn)成的去做更加有效率。可以在導(dǎo)出 RCP 項(xiàng)目時(shí)察看示例源碼 Hyperbola ,是一個(gè)聊天程序, Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications 書(shū)中的示例。該書(shū)網(wǎng)上有 chm 版本的下載。源碼下載鏈接: http://eclipsercp.org/book/cd.php 。 注意:當(dāng)出現(xiàn)錯(cuò)誤時(shí)一定要照著源碼的配置一項(xiàng)一項(xiàng)的檢查,重點(diǎn)是檢查 .product 文件和 PDE 中 Build 項(xiàng)和 MENIFEST.MF 。許多時(shí)候一個(gè)非常細(xì)小的差別往往使程序?qū)С鍪 ?/span>
- 在發(fā)布 RCP 以及導(dǎo)出插件包時(shí),其他相關(guān)的插件( Required Plugins )必須打包后加載進(jìn) Eclipse 插件中(可以采用 Link 方式),而不能作為 WorkSpace 中打開(kāi)的項(xiàng)目加載在插件依賴(lài)項(xiàng)中,這樣才能順利將插件和 RCP 項(xiàng)目導(dǎo)出。或者不加載進(jìn) Eclipse 插件中,只要將其作為第三方插件,在 PDE 中 runtime 選項(xiàng)組添加該插件再打包。或者在 WorkSpace 該插件項(xiàng)目中新增加一個(gè)文件夾,在其中放入所依賴(lài)的插件項(xiàng)。然后在 PDE 中 Build 選項(xiàng)組二進(jìn)制構(gòu)建子選項(xiàng)組中將其包含也可。
- 在 PDE 中 Build 選項(xiàng)組中的運(yùn)行時(shí)信息,默認(rèn)名是一個(gè)“ . ”,意思是直接在 plugins 目錄下生成 jar 文件,如果給它起自己的名稱(chēng)的話(huà),將會(huì)根據(jù)那個(gè)名稱(chēng)在 plugins 目錄下生成一個(gè)文件夾,然后在該文件夾里才會(huì)有自己的 jar 文件。在導(dǎo)出 Eclipse RCP 項(xiàng)目時(shí),主插件應(yīng)該保持默認(rèn)名,使其生成的 jar 文件在 plugins 目錄下便存在,否則便會(huì)出現(xiàn)應(yīng)用程序找不到的錯(cuò)誤。
- MENIFEST.MF 里面的代碼跟最終的結(jié)果關(guān)系很大。下面把其中的格式復(fù)制出來(lái),以便有一些參考性的東西。

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

?
?
其中,12行Export-Package項(xiàng)是你希望外部可見(jiàn)的包,寫(xiě)不寫(xiě)對(duì)導(dǎo)出項(xiàng)目沒(méi)有影響。
下面第13項(xiàng)在MENIFEST.MF中可能會(huì)自動(dòng)生成,在導(dǎo)出插件時(shí)要注意將其去掉,否則會(huì)產(chǎn)生錯(cuò)誤。(具體原因還未知,希望高人指點(diǎn)迷津