導(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ì)大家 有些幫助。

          1. 有樣學(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>
          1. 在發(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)組中將其包含也可。
          1. 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ò)誤。
          1. MENIFEST.MF 里面的代碼跟最終的結(jié)果關(guān)系很大。下面把其中的格式復(fù)制出來(lái),以便有一些參考性的東西。
          ?1 Manifest - Version:? 1.0
          ?2 Bundle - ManifestVersion:? 2
          ?3 Bundle - Name:?MyProject?Plug - in
          ?4 Bundle - SymbolicName:?MyProject;?singleton: = true
          ?5 Bundle - Version:? 1.0 . 0
          ?6 Bundle - Localization:?plugin
          ?7 Require - Bundle:?org.eclipse.ui,
          ?8 org.eclipse.core.runtime,
          ?9 org.eclipse.core.resources,
          10 org.eclipse.ui.ide,
          11 Eclipse - AutoStart:? true
          12 Export - Package:?myProject,
          13Bundle-Activator: myProject.MyProjectPlugin

          ?

          ?

          其中,12Export-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)迷津.? 其他的應(yīng)該不用說(shuō)了吧?!

          Feedback

          # re: 導(dǎo)出Eclipse RCP項(xiàng)目心得  回復(fù)  更多評(píng)論   

          2006-04-16 16:20 by 盧衛(wèi)華
          請(qǐng)問(wèn)為什么用rcp的run program 不能InitialContext,weblogic的環(huán)境
          而用普通的run就可以呢?

          # re: 導(dǎo)出Eclipse RCP項(xiàng)目心得[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-02-27 21:00 by 哈哈
          你有沒(méi)有寫(xiě)好的代碼,發(fā)給我一份,謝謝拉,icphjl@163.com

          # re: 導(dǎo)出Eclipse RCP項(xiàng)目心得  回復(fù)  更多評(píng)論   

          2007-03-06 10:26 by nemo
          好久都沒(méi)有更新隨筆了。導(dǎo)出Eclipse RCP項(xiàng)目可以使用Ant構(gòu)建,發(fā)現(xiàn)PDE所提供的向?qū)Х奖闶欠奖悖瑓s老是出錯(cuò)。

          # re: 導(dǎo)出Eclipse RCP項(xiàng)目心得  回復(fù)  更多評(píng)論   

          2007-03-06 10:35 by nemo
          現(xiàn)在對(duì)OSGi了解的比較多了,OSGi對(duì)Eclipse發(fā)現(xiàn)插件、控制插件都非常重要。在Eclipse3.1以后,OSGi bundle代替原來(lái)的插件來(lái)控制插件的生命周期。MANIFEST.MF文件包含了許多OSGi頭和特定的基于Eclpse平臺(tái)的偽代碼。
          文中第13行Bundle-Activator即為激活器類(lèi)。在Eclipse3.2以后,已經(jīng)將Eclipse創(chuàng)建插件向?qū)ё詣?dòng)產(chǎn)生的插件類(lèi)命名為Activator。這個(gè)頭部是必須的,Activicator來(lái)控制插件的啟動(dòng)、運(yùn)行、結(jié)束,缺少了這個(gè)頭將會(huì)無(wú)法創(chuàng)建插件。
          第12行:Export-package中的包表示對(duì)其他插件可見(jiàn)的包,也是非常有用的選項(xiàng)。其他插件無(wú)法import此偽代碼沒(méi)有聲明的包。

          posts - 21, comments - 74, trackbacks - 0, articles - 3

          Copyright © nemo

          主站蜘蛛池模板: 宁晋县| 酒泉市| 嘉鱼县| 惠来县| 韶关市| 会宁县| 深圳市| 石林| 连平县| 吴江市| 桃源县| 会东县| 九龙县| 九龙坡区| 轮台县| 凉城县| 出国| 尖扎县| 永泰县| 齐齐哈尔市| 慈利县| 乌兰察布市| 海宁市| 元谋县| 泗阳县| 永善县| 洛宁县| 斗六市| 芦溪县| 新津县| 神木县| 正镶白旗| 水城县| 崇信县| 庆城县| 德钦县| 合作市| 久治县| 华坪县| 建始县| 嘉禾县|