京山游侠

专注技术,拒绝扯淡
posts - 50, comments - 868, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
  所谓RCP,就是Rich Client Platform的缩写,即富客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能够使用户方便地创建自己的基于Eclipse的应用程序,并且这些应用程序能够得到Eclipse的底层支持。更重要的是,我们可以利用Java创建象Eclipse这么漂亮的桌面程序。

  我相信,在未来的几年里,RCP一定会变得非常流行。使用RCP,我们可以开发界面象Eclipse这样漂亮的桌面程序,比如医院管理系统啊、CAD软件等等。遗憾的是,目前在国内基本上找不到关于RCP的中文资料,我们只能通过自己的探索来为我们的程序添加我们想要的功能。

  下面让我们一步一步来建立一个Eclipse RCP程序,下面的内容可以说在Google上一搜一大把,有些人会觉得乏味,但是没关系,这只是一个快速的起步。

  选择“新建--项目”,选择“插件项目”:
rcp00.JPG

rcp01.JPG

点下一步,输入项目名称,选择Eclipse版本,我这里选择的是3.2:
rcp02.JPG

  点下一步,插件标识和插件名称可以更改,其他的内容都可以保持默认,一定要记得选中富客户机应用程序支持:
rcp03.JPG

  点下一步,选中一个模板,这里选一个最简单的,到时候看源代码的时候便于理解:
rcp04.JPG

  点下一步,改一下应用程序标题:
rcp05.JPG

  点完成,我们可以在项目上面点右键,选择按Eclipse程序运行,就可以看到效果了:
rcp16.JPG

rcp17.JPG

  在这个程序中,窗口上显示的是一个透视图,透视图中含有一个编辑器区域,以后,我们可以逐步为这个程序添加菜单、工具条和为这个透视图添加视图、编辑器等等。

  现在,这个程序只能在Eclipse环境下运行,而RCP的目标是创建可以独立运行的应用程序,我们的事情还没完呢。下一步,在项目上点右键,创建产品配置文件:
rcp06.JPG

  输入产品配置文件名:

rcp07.JPG

  生成的产品配置文件在编辑器中打开,应该是这个样子的:
rcp09.JPG

  刚开始,上面的几个文本框都是空的,点新建按钮之后,弹出如下的对话框,输入产品名称后,点完成就行了。

rcp08.JPG

  点击配置文件中的“启动程序”,我们可以试着启动我们的RCP程序。结果呢,会出错。原因很简单,因为我们没有为我们的程序选中它依赖的插件。

   选中配置文件的“配置”选项卡,添加以下几个依赖项,记住,一定要把我们自己,也就是com.blogjava.youxia.rcp_start加进依赖项,否则会出错。最开始的时候,就是这么一点小问题,让我浪费了几天时间。
rcp10.JPG

  再点击添加必须的插件,自动添加其它的依赖项。

  再下一步,设置项目的构建路径,如下图:
rcp11.JPG

  下一步,导出我们的程序:
rcp12.JPG

rcp13.JPG

  点下一步,输入我们程序导出的目录,如下图:
rcp14.JPG

  点完成按钮之后,我们的程序就导出到我们的指定的目录中了,打开这个目录,可以看到一个类似eclipse的程序图标,双击运行,效果如下图:rcp15.JPG

  最后,需要说明两点:第一,如果希望生成的程序有自己的图标,可以在产品配置文件中的最后两个配置文件中设置;第二,生成的程序应该是没有菜单栏的,因为我的Eclipse安装了MyEclipse,所以导出的程序就多了两个菜单。

  好了,快速起步就到这里了,以后再仔细研究生成的代码和为我们的程序添加功能。

评论

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-11-18 16:20 by loocky[匿名]
eclipse2.几的版本就有这个功能,SWTgwt是核心

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-11-24 22:59 by 海边沫沫
3.0以后,Eclipse的插件程序可以脱离Eclipse环境单独运行,而且该单独运行的程序也可以被插件扩展,这才是RCP。

2.x版的不是。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-11-25 13:59 by 喜欢
好文章,谢谢!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-01 17:17 by self
好文章,谢谢

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-05 09:54 by itVincent
请问这个跟SWT有什么不同?也是桌面程序吗?

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-05 15:13 by 京山游侠
这也是桌面程序,它的基础就是SWT,就好像Eclipse的基础是SWT一样。
RCP的好处就是让你能够充分利用Eclipse的界面和插件机制,让你站在巨人的肩膀上看得更远

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-09 21:36 by tory
看完后收获不小

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-20 11:53 by xhhm
我新建一个Hello RCP的工程以后,运行时就会报错
org.osgi.framework.BundleException: The activator tttt.Activator for bundle tttt is invalid
我用的Eclipse3.2,打了MyEclipse插件,JDK用的1.4的,帮帮忙吧`~谢谢了``~~~~

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2006-12-21 21:17 by 海边沫沫
呵呵,你这个问题我没有遇到过。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-01-05 17:33 by billbai
@xhhm
你可以在工程属性中的 Java Compiler中选择JDK的版本

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-01-12 08:44 by 搂住sb
怎么找不到com.genuitec.eclipse.core 这个包
eclipse3.2.1

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-01-12 13:47 by 海边沫沫
是不是你没有指定插件依赖项?

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-03-03 01:35 by 灵魂机器
为什么我的"Run As" 是空的?救命啊

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-06-09 23:25 by Lf0x
不错得文章

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-07-30 16:29 by 小白之家
不错,不错

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-08-27 17:15 by XXN
MyEclipse和JDK1.4版本的?好像是不可以的吧......
JDK换成1.5的吧!


com.genuitec.eclipse.core 这个包应该是海边妹妹自己打的一个包吧,在eclipse下面的****.eclipse.core 包是存在的.自己好好找找!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-09-26 14:28 by me
好文章,受益匪浅。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-12-19 22:06 by kile
您好!
请教一个问题呀
我建的plugin project原来导出product是可以运行的,这两天不知道,修改了什么东西,新导出的product不能正确执行了,即使从原来的plugin导出的新的product也执行不了了。提示如下:
---------------------------
Eclipse
---------------------------
JVM terminated. Exit code=-1
-Djava.class.path=D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
-os win32
-ws win32
-arch x86
-showsplash
-launcher D:\Eclipse\Testbin\RCP_Start4\eclipse\eclipse.exe
-name Eclipse
--launcher.library D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.2.R331_v20071019\eclipse_1021.dll
-startup D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
-vm C:\Program Files\Java\jre1.5.0_09\bin\client\jvm.dll
-vmargs
-Djava.class.path=D:\Eclipse\Testbin\RCP_Start4\eclipse\plugins\org.eclipse.equinox.launcher_1.0.1.R33x_v20070828.jar
---------------------------
确定
---------------------------
请问是怎么回事?该怎么解决呢?谢谢!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2007-12-24 19:59 by 小河
谢谢,第一个程序按照你的指导完全正确了。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2008-03-11 22:35 by
好文
产品发布后title处出现了乱码 不知何故?发布前的运行都是好的

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2008-03-14 17:59 by NOMIS
会出現JVM terminated. Exit code=13 的錯?是不是我用Eclipse 3.3.2的関係?似乎缺了com.genuitec.eclipse.core這個包?

不過如果我在新建产吅配置,初始化文件內容,'選使用启动配置'就可以不用自己去設配置,而且不會出錯!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2008-04-03 14:15 by 隔叶黄莺
RCP入门的好文章,为什么我用的 Eclipse 3.3 Class 版,新建项目里找不到插件项目啊

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2008-05-06 13:55 by 开水
@隔叶黄莺
你要安装rcp插件的吧,
下载一个试试。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2008-06-25 17:11 by 练习一下
其他都好,就是不能单独生成一个可执行的程序!麻烦指导一下,谢谢!!!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2008-06-30 14:41 by Lament Gates
太灵了~~~~~

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2008-07-12 22:44 by dd
写的非常好,我搜到的做好的中文RCP文章

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2008-08-14 14:46 by zz
呵呵,很不错啦,谢谢了

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2008-11-06 18:13 by bruce
我导出后不能运行啊,一直都在报错,我就是按照上面的过程做的,哪位大侠明白,请指点迷津!
下面是错误代码:
!SESSION 2008-11-06 18:06:42.375 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.equinox.app 0 0 2008-11-06 18:06:43.390
!MESSAGE Product cn.blocjava.youxia.rcp_start.product could not be found.

!ENTRY org.eclipse.osgi 4 0 2008-11-06 18:06:43.406
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

!ENTRY org.eclipse.osgi 2 0 2008-11-06 18:06:43.421
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2008-11-06 18:06:43.421
!MESSAGE Bundle initial@reference:file:plugins/cn.blocjava.youxia.rcp_start_1.0.0.jar/ [1] was not resolved.
!SUBENTRY 2 cn.blocjava.youxia.rcp_start 2 0 2008-11-06 18:06:43.421
!MESSAGE Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.6

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-01-12 10:53 by hello rcp
似乎缺了com.genuitec.eclipse.core這個包?
我也找不到这个包,不过我我点了add Required Plug-ins包能包括的包都加进去了
成功运行

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-03-09 19:57 by 米高阳
有个问题想请教一下,我在Eclipse中运行没有问题,但是导出文件时就会没有那个Jar文件,而且会报错错误是
Errors occured during the operation:
A zip containing the build logs has been generated and placed at "D:/Program/Eclipse 3.3/Eclipase"
这个地址是我的导出地址,但是在上一层灰多一个zip文件,而该有jar的地方却没有,怎么回事。
还想请教一下有没有关于RCP的比较好的教材给推荐一下,谢谢!
盼望您的回复

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-03-14 14:01 by 林怡
谢谢,我从这篇文章中学到了好多。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-03-17 10:41 by 飞来飞去
刚用swt做了个程序,看完这个觉得rcp很强大啊,按照楼主的步骤做了,除了找不到com.genuitec.eclipse.core,其他的都没问题,不过每家com.genuitec.eclipse.core程序也能正常运行~~猜想com.genuitec.eclipse.core可能是myeclipse下的吧,而我用的是纯eclipse

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-04-02 17:18 by 创意产品网
发现博主好的好文章,今天没时间了,先mark下,以后慢慢来看

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-04-02 17:19 by 创意产品网
mark下

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-04-07 20:39 by 陈卓
好文章,看过后就明白了。谢谢。
另外,
com.genuitec.eclipse.core是MyEclipse的包,不要也可以。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2009-04-15 12:34 by 强子
照楼主的做,每步都一样,没有报错,但就是最后导出的内容中没有startup.jar文件

网上也没说这个问题的
希望得到楼主或者朋友的答复
谢谢

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-04-27 11:19 by ccat
跟bruce报一样的错。
求解!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-04-27 11:23 by ccat
@强子
我生成的也没有,看网上说,可以把eclipse里的startup拷过去,然后要改xml,具体怎么做忘了。不过没有这个也可以启动。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2009-07-28 11:12 by darwin
我在导出独立运行时报这个错,哪位大侠帮帮忙,非常感谢!
java.lang.RuntimeException: Could not find framework
at org.eclipse.core.launcher.Main.getBootPath(Main.java:639)
at org.eclipse.core.launcher.Main.basicRun(Main.java:274)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2009-08-24 13:01 by navy
刚刚起步,不错的文章,我会继续关注的,还请多多关照

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2010-07-07 16:34 by 淘宝网
不错,不错

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2010-08-20 10:34 by 北极孤狐
文章很好,感觉这东西好难。

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2010-12-16 09:50 by Eric
使用这个开发的应用程序,能做到断点续传(上传)文件到服务器吗?

急切等待,谢谢

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2011-03-03 16:22 by ENKAKA
首先很感谢这么详细的指导,但是很奇怪的是我导出的文件夹里没有icon
我是没有添加com.genuitec.eclipse.core,但这个应该没关系的样子。
「构建」页中我有选icons啊,其它也都跟图示一样,太奇怪了。
导出的文件夹中只有「configuration」文件夹,「plugins」文件夹,「.eclipseproduct」文件和「startup.jar」文件,别的就没了。
我是初学者,希望前辈们指点一下。
谢谢

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2011-04-26 18:03 by
非常感谢,受益匪浅啊~~~

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2011-04-26 18:19 by
导出时报错了
Cannot complete the install because one or more req
Software being installed: rcp_graphics.product 0.0.0 (RCP_Graphics.product 0.0.0)
Missing requirement: Eclipse UI 3.5.2.M20100120-0800 (org.eclipse.ui 3.5.2.M20100120-0800) requires 'bundle org.eclipse.core.expressions [3.4.0,4.0.0)' but it could not be found
Cannot satisfy dependency:
From: rcp_graphics.product 0.0.0 (RCP_Graphics.product 0.0.0)
To: org.eclipse.ui [3.5.2.M20100120-0800]

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2011-04-26 18:19 by
帮忙看看

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2011-06-21 16:31 by
多写点这样的,不错

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2011-09-23 17:55 by 淘宝网女装冬装
博客几年没更新了

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步[未登录]  回复  更多评论   

2011-10-11 16:00 by
一开始导出提示:equinox.launcher_1.0.1.R33x_v20070828.jar
后来在Add Required Plug-ins添加这个eclipse.core.runtime .
成功导出 , 成功运行, 希望对大家有帮助。
不过希望楼主能继续发扬这种精神 , 可以做几个小例子 ,漂亮界面的介绍文档。 。 谢谢 , 我的QQ308110228 ,有空大家讨论下。!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2011-10-19 11:32 by King_wangyao
博主好的好文章,
我是初学者,希望前辈们指点一下。
谢谢……

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2011-12-28 09:34 by sss
好文章!

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2013-07-15 12:57 by 呜呜呜
我的是10版本的怎么导出

# re: 使用Eclipse RCP进行桌面程序开发(一):快速起步  回复  更多评论   

2015-02-03 17:25 by tyl
非常感谢分享,同你的几篇文章对rcp开发了解很多,谢谢。

只有注册用户登录后才能发表评论。


网站导航: