导出Eclipse RCP项目心得

         搞了整整两天才终于将项目从 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中可能会自动生成,在导出插件时要注意将其去掉,否则会产生错误。(具体原因还未知,希望高人指点迷津 其他的应该不用说了吧?!

你可能感兴趣的:(导出Eclipse RCP项目心得)