您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > rcp产品开发及发布流程的培训
山东中创软件商用中间件股份有限公司时迎清2014.03.17RCP简介(2m)开发RCP应用(30m)开发产品定义文件(20m)发布RCP产品(5m)技术交流(10m)EclipseRichClientPlatform,Eclipse富客户端平台。它允许开发者使用Eclipse架构设计灵活的、可扩展的、美观的、跨平台的应用程序。当我们提到Eclipse的时候,许多Java开发者的第一反应就是那个性能良好,界面漂亮,Debug功能奇佳的Java集成开发平台。如果将Eclipse中关于IDE的内容剥去,剩下的就是一个提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(编辑器和视图)、菜单、工具栏、按钮、表格、树形结构等等的支持,而这个核心就是EclipseRCP。EclipseRCP是一项位于Eclipse平台核心的功能。Eclipse本身就是一个提供了完善的插件机制的RCP平台。引言“EclipseRCP就是由插件开发转向桌面应用开发,构建最小化的Eclipse平台(8M)运行你的桌面应用,不必再为程序框架烦心,摆脱失败的AWT和Swing,让程序拥有专业级效果,而实现又很简单、很优雅。”开发工具:Eclipse-jee-3.6.1(helios-SR1)操作系统:win32plugin.xml文件(插件清单文件)此文件各选项卡使用不再展开介绍。代码解析RCP模板自动为我们创建了5个类Application.javaApplicationActionBarAdvisor.javaApplicationWorkbenchAdvisor.javaApplicationWorkbenchWindowAdvisor.javaPerspective.java下面我们对这5个类进行简要分析。代码解析--Application.javaRCP程序的入口点publicclassApplicationimplementsIApplication{publicObjectstart(IApplicationContextcontext)throwsException{Displaydisplay=PlatformUI.createDisplay();try{intreturnCode=PlatformUI.createAndRunWorkbench(display,newApplicationWorkbenchAdvisor());if(returnCode==PlatformUI.RETURN_RESTART)returnIApplication.EXIT_RESTART;elsereturnIApplication.EXIT_OK;}finally{display.dispose();}}publicvoidstop(){if(!PlatformUI.isWorkbenchRunning())return;finalIWorkbenchworkbench=PlatformUI.getWorkbench();finalDisplaydisplay=workbench.getDisplay();display.syncExec(newRunnable(){publicvoidrun(){if(!display.isDisposed())workbench.close();}});}}代码解析--ApplicationWorkbenchAdvisor.javapublicclassApplicationWorkbenchAdvisorextendsWorkbenchAdvisor{privatestaticfinalStringPERSPECTIVE_ID=com.shi.eclilpse.sms.perspective;//$NON-NLS-1$publicWorkbenchWindowAdvisorcreateWorkbenchWindowAdvisor(IWorkbenchWindowConfigurerconfigurer){returnnewApplicationWorkbenchWindowAdvisor(configurer);}publicStringgetInitialWindowPerspectiveId(){returnPERSPECTIVE_ID;}}代码解析--ApplicationWorkbenchWindowAdvisor.javapublicclassApplicationWorkbenchWindowAdvisorextendsWorkbenchWindowAdvisor{publicApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurerconfigurer){super(configurer);}publicActionBarAdvisorcreateActionBarAdvisor(IActionBarConfigurerconfigurer){returnnewApplicationActionBarAdvisor(configurer);}publicvoidpreWindowOpen(){IWorkbenchWindowConfigurerconfigurer=getWindowConfigurer();configurer.setInitialSize(newPoint(400,300));configurer.setTitle(我的RCP测试);configurer.setShowCoolBar(false);configurer.setShowStatusLine(false);}}代码解析--ApplicationActionBarAdvisor.javapublicclassApplicationActionBarAdvisorextendsActionBarAdvisor{publicApplicationActionBarAdvisor(IActionBarConfigurerconfigurer){super(configurer);}protectedvoidmakeActions(IWorkbenchWindowwindow){}protectedvoidfillMenuBar(IMenuManagermenuBar){}}代码解析--Perspective.javapublicclassPerspectiveimplementsIPerspectiveFactory{publicvoidcreateInitialLayout(IPageLayoutlayout){}}测试自动创建的项目(不作任何修改,第一次运行)添加菜单、动作修改类文件:ApplicationActionBarAdvisor自定义视图设置窗口布局(标题、大小、位置等)修改类文件:ApplicationWorkbenchWindowAdvisor,Perspective替换启动画面:splash.bmp视具体需求进行修改测试修改后的项目(第二次运行)*.product文件在EclipseV3.1引入ProductionConfiguration之前,RCP开发人员面临着如何有效且高效地打包和交付具有必要插件的RCP项目的问题。此问题实际上是影响到使用率的问题,因为它本质上决定了其软件的分布和可用性。多亏了EclipseV3.1的新ProductionConfiguration功能,现在您可以轻松将其应用程序与依赖项和品牌推广元素轻松地打包在一起了。*.product文件提供了一个和plugin.xml类似的界面,提供了项目的启动、打包导出、项目个性化(名称,加载图片,splash)等功能。sms.product文件Overview:配置产品ID、版本、名称、product、applicationDependencies:配置依赖的插件Configuration:配置插件及其启动级别,指定config.ini文件(可自动生成)4.Lauching:配置启动器名称和图标、程序参数、虚拟机参数5.Splash:指定splash的图片和格式,添加进度条和进度信息6.Branding:指定windows任务栏的图标以及about对话框信息7.Licensing:指定licensing信息about.html这个文件放在项目根目录,随产品一起导出。查看方式:Help--About--InstallationDetails--Plug-ins--LegalInfo打开plugin.xml--Build注:不用勾选.product文件、src、bin;plugin_customization.ini是运行产品时自动生成的。使用导出向导打开.producct--Overview经验分享1.修改.product配置后运行不起效果--清除工作空间缓存数据,两个clear:运行--运行配置--Main--clear运行--运行配置--Configuration--clear经验分享2.Applicationcom.shi.eclipse.sms.applicationcouldnotbefoundintheregistry.Theapplicationsavailableare:org.eclipse.equinox.app.error.--检查applicationID是否正确;检查插件依赖,使用addrequiredplug-ins;经验分享3.导出产品后运行报错找不到简介部件的有效配置:introelementinextension:org.eclipse.ui.introinbundle:com.shi.eclipse.sms-----(1)导出产品前,检查build选项卡,是否选中introContent.xml等文件(2)打开的欢迎页面是空的---通过调节开关:Perspective.createInitialLayout(IPageLayoutlayout){layout.setFixed(false);//false:大小可变动,有最大最小按钮经验分享4.首次打开工作空间显示欢迎页面,下次打开不再出现,要想下次打开工作空间出现欢迎页面,可以修改文件\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.ui.prefs,将false改为true--#MonMar1714:54:06CST2014eclipse.preferences.version=1showIntro=false注意:此操作只对下次有效。OVER
本文标题:rcp产品开发及发布流程的培训
链接地址:https://www.777doc.com/doc-467891 .html