導出Eclipse RCP項目心得

          Posted on 2006-03-31 13:18 nemo 閱讀(6387) 評論(4)  編輯  收藏 所屬分類: EclipseRCP/SWT/JFACE

          ???????? 搞了整整兩天才終于將項目從 Eclipse 中導了出來,網上雖然有許多可供參考的標準導出步驟,但對于具體的項目來說可能會因為版本的不同或者是插件的不同產生各種各樣的問題。下面是我在導出 RCP 程序過程中的一些心得,希望對大家 有些幫助。

          1. 有樣學樣法則真的是很重要,特別是當你無法馬上理解 Eclipse 內部機制的時候更是如此。自己一個人摸索很久還不如照著現成的去做更加有效率。可以在導出 RCP 項目時察看示例源碼 Hyperbola ,是一個聊天程序, Eclipse.Rich.Client.Platform.Designing.Coding.and.Packaging.Java.Applications 書中的示例。該書網上有 chm 版本的下載。源碼下載鏈接: http://eclipsercp.org/book/cd.php 注意:當出現錯誤時一定要照著源碼的配置一項一項的檢查,重點是檢查 .product 文件和 PDE Build 項和 MENIFEST.MF 。許多時候一個非常細小的差別往往使程序導出失敗。
          1. 在發布 RCP 以及導出插件包時,其他相關的插件( Required Plugins )必須打包后加載進 Eclipse 插件中(可以采用 Link 方式),而不能作為 WorkSpace 中打開的項目加載在插件依賴項中,這樣才能順利將插件和 RCP 項目導出。或者不加載進 Eclipse 插件中,只要將其作為第三方插件,在 PDE runtime 選項組添加該插件再打包。或者在 WorkSpace 該插件項目中新增加一個文件夾,在其中放入所依賴的插件項。然后在 PDE Build 選項組二進制構建子選項組中將其包含也可。
          1. PDE Build 選項組中的運行時信息,默認名是一個“ . ”,意思是直接在 plugins 目錄下生成 jar 文件,如果給它起自己的名稱的話,將會根據那個名稱在 plugins 目錄下生成一個文件夾,然后在該文件夾里才會有自己的 jar 文件。在導出 Eclipse RCP 項目時,主插件應該保持默認名,使其生成的 jar 文件在 plugins 目錄下便存在,否則便會出現應用程序找不到的錯誤。
          1. MENIFEST.MF 里面的代碼跟最終的結果關系很大。下面把其中的格式復制出來,以便有一些參考性的東西。
          ?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項是你希望外部可見的包,寫不寫對導出項目沒有影響。
          下面第13項在MENIFEST.MF中可能會自動生成,在導出插件時要注意將其去掉,否則會產生錯誤。(具體原因還未知,希望高人指點迷津.? 其他的應該不用說了吧?!

          Feedback

          # re: 導出Eclipse RCP項目心得  回復  更多評論   

          2006-04-16 16:20 by 盧衛華
          請問為什么用rcp的run program 不能InitialContext,weblogic的環境
          而用普通的run就可以呢?

          # re: 導出Eclipse RCP項目心得[未登錄]  回復  更多評論   

          2007-02-27 21:00 by 哈哈
          你有沒有寫好的代碼,發給我一份,謝謝拉,icphjl@163.com

          # re: 導出Eclipse RCP項目心得  回復  更多評論   

          2007-03-06 10:26 by nemo
          好久都沒有更新隨筆了。導出Eclipse RCP項目可以使用Ant構建,發現PDE所提供的向導方便是方便,卻老是出錯。

          # re: 導出Eclipse RCP項目心得  回復  更多評論   

          2007-03-06 10:35 by nemo
          現在對OSGi了解的比較多了,OSGi對Eclipse發現插件、控制插件都非常重要。在Eclipse3.1以后,OSGi bundle代替原來的插件來控制插件的生命周期。MANIFEST.MF文件包含了許多OSGi頭和特定的基于Eclpse平臺的偽代碼。
          文中第13行Bundle-Activator即為激活器類。在Eclipse3.2以后,已經將Eclipse創建插件向導自動產生的插件類命名為Activator。這個頭部是必須的,Activicator來控制插件的啟動、運行、結束,缺少了這個頭將會無法創建插件。
          第12行:Export-package中的包表示對其他插件可見的包,也是非常有用的選項。其他插件無法import此偽代碼沒有聲明的包。

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

          Copyright © nemo

          主站蜘蛛池模板: 镇远县| 岳阳县| 札达县| 庆元县| 措美县| 康乐县| 碌曲县| 博湖县| 乌拉特后旗| 江阴市| 靖远县| 封开县| 西和县| 白河县| 卓资县| 苏州市| 阿尔山市| 浦城县| 靖江市| 东乌珠穆沁旗| 新竹县| 阿克陶县| 泸州市| 霍山县| 拉萨市| 新化县| 西乌珠穆沁旗| 韩城市| 浮梁县| 峨眉山市| 高邮市| 夹江县| 中卫市| 金乡县| 渭南市| 凤翔县| 青铜峡市| 和林格尔县| 兴国县| 册亨县| 区。|