Eclipse和RCP应用介绍
RCP程序的日志收集与分析实践

RCP随着信息技术的不断发展,越来越多的企业和组织依赖于软件系统进行业务运营和管理。
而软件系统的稳定性和可靠性一直是企业和组织的重要关注点。
在这个过程中,日志是非常重要的一环。
软件系统会产生大量的日志,这些日志包含了系统的运行状态、异常信息、性能指标等重要信息。
通过对这些日志的收集和分析,可以及时发现系统故障、优化性能,提高系统的可靠性和稳定性。
本文将介绍RCP 程序的日志收集与分析实践。
一、RCP 程序简介RCP ( Rich Client Platform)是一个基于Eclipse 的框架,用于开发客户端应用程序。
RCP 程序可以在多个操作系统平台上运行,包括Windows、Linux 和Mac OS 等。
RCP 程序的架构分为三层:应用层、中间件层和系统层。
应用层包括用户界面、业务逻辑和数据持久化。
中间件层包括服务注册、服务提供和服务调用等。
系统层包括操作系统和底层接口。
二、RCP 程序的日志收集RCP 程序的日志信息最终会被输出到一个日志文件中。
在调试和问题排查时,需要查看日志文件中的信息。
因此,正确地配置日志输出非常重要。
下面介绍RCP 程序日志收集的实践:1. 使用log4j 作为日志框架:log4j 是一个开源的Java 日志框架,被广泛应用于Java 应用程序的日志记录。
在RCP 程序中,可以通过在插件中集成log4j,并通过配置文件设置日志输出级别和输出目的地。
下面是一个示例的log4j 配置文件:```log4j.rootLogger=INFO,FILElog4j.appender.FILE=org.apache.log4j.RollingFileAppenderlog4j.appender.FILE.File=${workspace_loc}/logs/eclipse.loglog4j.appender.FILE.MaxFileSize=10MBlog4j.appender.FILE.MaxBackupIndex=5yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %p [%c] - %m%n```其中,rootLogger 设置日志输出级别为INFO,表示只输出INFO 级别及以上的日志信息;appender.FILE 设置输出目的为一个滚动式日志文件,文件大小不超过10MB,保留5 个备份文件;layout.ConversionPattern 设置日志输出格式。
EclipseRCP与SpringOSGi:技术详解与最佳实践

EclipseRCP与SpringOSGi:技术详解与最佳实践Eclipse RCP与Spring OSGi:技术详解与最佳实践第⼀部分基础篇1 初识Eclipse RCP1.1 Eclipse平台概述1.2 Eclipse RCP概述1.3 Eclipse RCP的应⽤1.4 OSGi与Equinox1.5 SWT与JFace1.6 ⼩结2 搭建Eclipse RCP开发环境2.1 JDK的安装与配置2.1.1 下载JDK安装程序2.1.2 安装JDK运⾏程序2.1.3 配置JDK运⾏环境2.1.4 测试JDK安装状态2.1.5 卸载JDK应⽤程序2.2 安装Eclipse IDE2.2.1 Eclipse开发包2.2.2 Eclipse版本更新2.2.3 下载Eclipse2.2.4 安装Eclipse2.2.5 技术资源2.3 Maven的安装与配置2.3.1 Maven介绍2.3.2 下载Maven2.3.3 安装Maven2.3.4 测试Maven2.3.5 修改Maven的配置⽂件2.3.6 技术资源2.4 Maven和Eclipse的集成2.4.1 安装Maven Eclipse插件2.4.2 配置Maven Eclipse插件2.4.3 技术资源2.5 安装Spring IDE Plugin2.5.1 Spring IDE介绍2.5.2 安装Spring IDE插件2.5.3 技术资源2.6 安装WindowBuilderProPlugin2.6.1 WindowBuilder介绍2.6.2 安装WindowBuilder插件2.7 ⼩结3 SWT界⾯设计详解3.1 SWT介绍3.2 WindowBuilder插件初识3.2.1 设计视图3.2.2 源码视图3.2.3 结构视图3.3 SWT设计⾯板3.6 容器使⽤⼊门3.6.1 Composite3.6.2 Group3.6.3 ScrolledComposit3.6.4 SashForm3.6.5 TabFolder与TabItem3.6.6 CTabFolder与CTabItem 3.6.7 ViewForm3.6.8 CBanner3.7 容器使⽤进阶3.7.1 checkSubclass⽅法3.7.2 界⾯复⽤3.7.3 添加⾃定义的Component 3.7.4 背景模式3.7.5 带分隔条的SashForm 3.8 布局使⽤⼊门3.8.1 AbsoluteLayout3.8.2 FillLayout3.8.3 GridLayout3.8.4 FormLayout3.8.5 RowLayout3.8.6 StackLayout3.8.7 GroupLayout3.8.8 FlowLayout3.8.9 BoxLayout3.8.10 BorderLayout3.9 布局使⽤进阶3.9.1 使⽤AbsoluteLayout3.9.2 使⽤GridLayout3.9.3 StackLayout3.10 控件使⽤⼊门3.10.1 Label3.10.2 CLabel3.10.3 Separator3.10.4 Text3.10.5 StyledText3.10.6 Combo3.10.7 CCombo3.10.8 List3.10.9 Button3.10.10 DateTime3.10.11 Spinner3.10.12 Slider3.10.13 Scale3.10.14 Link3.10.15 ToolBar与ToolItem 3.10.16 CoolBar与CoolItem3.10.24 TableTree3.11 控件使⽤进阶3.11.1 创建Simple Table3.11.2 创建Lazy Table3.11.3 创建Virtual Table3.11.4 Virtual Table注意事项3.11.5 Virtual Table排序3.11.6 创建Lazy Tree3.11.7 创建Virtual Tree3.11.8 创建TreeVirtualDynamic3.11.9 创建POJOComposite3.11.10 如何与浏览器交互3.12 菜单使⽤⼊门3.12.1 Menu Bar组件3.12.2 Popup Menu3.12.3 MenuItem3.13 菜单使⽤进阶3.14 技术资源3.15 ⼩结4 JFace界⾯设计详解4.1 MVC设计思想4.1.1 MVC模式4.1.2 Java与MVC模式4.2 JFace与MVC模式4.2.1 JFace Viewer框架概述4.2.2 JFace Viewer框架机制4.3 JFace常⽤组件⼊门4.3.1 ComboViewer4.3.2 ListViewer4.3.3 TableViewer4.3.4 TreeViewer4.3.5 CheckboxTableViewer4.3.6 CheckboxTreeViewer4.3.7 TreeTableViewer4.3.8 TableViewer Composite4.3.9 Table Composite4.3.10 TreeViewer Composite4.3.11 Tree Composite4.4 JFace组件使⽤进阶4.4.1 数据绑定4.4.2 基于EditingSupport的可编辑表格4.4.3 基于ICellModifier的可编辑表格4.4.4 对话框编辑器4.4.5 其他表格标签4.4.6 Viewer浮动提⽰控件4.5 ⼩结5.2.2 ExpandableComposite5.2.3 Label与Text5.2.4 Hyperlink与ImageHyperlink5.2.5 Composite Separator5.2.6 Section5.2.7 Form与ScrolledForm5.3 Eclipse Forms使⽤进阶5.3.1 FormEditor与FormPage5.3.2 MasterDetailsBlock与IDetailsPage5.4 Eclipse Forms技术资源5.5 Nebula项⽬介绍5.6 安装Eclipse Nebula Plugin5.6.1 安装Eclipse Nebula Main Widgets5.6.2 安装Eclipse Nebula incubation Widgets5.6.3 加载Eclipse Nebula控件到WindowBuilder Pro Plugin中5.7 Nebula Main Widgets设计初识5.8 Nebula Incubation widgets设计初识5.9 Nebula设计经验5.10 Nebula技术资源5.11 ⼩结第⼆部分⾼级篇6 Eclipse RCP开发基础6.1 Eclipse概念6.1.1 欢迎界⾯6.1.2 ⼯作台6.1.3 透视图6.1.4 视图6.1.5 编辑器6.2 RCP应⽤程序设计6.2.1 RCP插件创建向导6.2.2 Plug-in Project6.2.3 Plugin Content6.2.4 Templates6.2.5 Sample Intro6.2.6 产品初次运⾏6.3 插件清单编辑器6.3.1 插件概述6.3.2 插件依赖项6.3.3 插件运⾏时6.3.4 插件扩展6.3.5 插件扩展点6.3.6 插件构建6.3.7 其他页⾯6.4 RCP Activator与Advisor类解析6.4.1 WorkshopAppActivator6.4.2 Application6.4.3 ActionBarAdvisor6.4.4 WorkbenchAdvisor6.4.5 WorkbenchWindowAdvisor7.1.1 帮助插件的Content向导页⾯7.1.2 帮助插件的Templates向导页⾯7.1.3 帮助插件的Sample Help Table of Contents向导页⾯7.2 维护Help Content7.2.1 帮助系统配置与资源⽂件的⽬录7.2.2 帮助系统配置与资源⽂件的关系7.2.3 帮助系统扩展7.3 添加帮助的菜单项7.4 帮助⽂件的创建7.5 ⼩结8 构建产品欢迎页⾯8.1 产品绑定欢迎页⾯8.1.1 欢迎页⾯扩展8.1.2 欢迎页⾯定义8.1.3 欢迎页⾯⾸页8.1.4 页⾯跳转链接8.2 欢迎页⾯请求8.2.1 创建IIntroAction8.2.2 添加IIntroAction链接8.3 添加动态内容8.3.1 动态页⾯创建8.3.2 动态数据创建8.4 创建页⾯扩展8.5 ⼩结9 构建产品多国语⾔9.1 插件清单的多国语⾔9.2 Java程序的多国语⾔9.2.1 Java程序的外部化字符串9.2.2 Java程序的多国语⾔包9.2.3 产品多国语⾔进阶9.3 帮助系统的多国语⾔9.4 Eclipse界⾯汉化9.5 切换软件系统语⾔9.5.1 添加⾃定义产品的config⽂件9.5.2 添加语⾔切换扩展点9.5.3 语⾔切换处理器9.6 ⼩结10 产品的运⾏与导出10.1 产品配置10.2 产品配置编辑器10.3 导出向导10.3.1 产品导出10.3.2 跨平台导出10.3.3 插件导出10.4 运⾏与导出进阶10.5 ⼩结11 Eclipse RCP扩展的使⽤11.1 ViewPart视图11.1.1 创建新插件11.1.2 视图向导11.2.1 透视图向导11.2.2 透视图代码11.2.3 透视图扩展11.2.4 透视图布局11.2.5 打开透视图11.3 EditorPart编辑器11.3.1 创建数据表单11.3.2 创建编辑器的输⼊11.3.3 创建编辑器11.3.4 创建视图树形组件11.3.5 编辑器扩展11.4 编程实现Action11.4.1 IAction11.4.2 ToolBar⼯具栏11.4.3 CoolBar⼯具栏11.4.4 ContentMenuBar菜单栏11.4.5 ⼯作台Action11.4.6 视图Action菜单栏11.4.7 视图Action⼯具栏11.4.8 编辑器Action⼯具栏11.5 扩展实现Action11.5.1 ⼯作台Action扩展11.5.2 视图Action扩展11.5.3 编辑器Action扩展11.6 Action的键盘绑定11.6.1 Commands扩展11.6.2 Bindings扩展11.7 Eclipse RCP设计进阶11.7.1 视图/编辑器之间通信11.7.2 创建状态栏项11.7.3 创建属性配置页⾯11.7.4 创建登录对话框11.8 ⼩结12 Eclipse RCP扩展点开发12.1 扩展点简介12.2 创建扩展点12.3 扩展点编辑器12.3.1 扩展点概述12.3.2 扩展点定义12.3.3 扩展点源码12.4 扩展点处理12.4.1 扩展点对象12.4.2 扩展点注册12.4.3 扩展点获取12.5 添加扩展12.6 使⽤扩展12.7 ⼩结第三部分实战篇13 Eclipse RCP与Spring OSGi 13.1 OSGi技术介绍13.2 Spring OSGi项⽬所需要的开发包13.2.1 下载Spring DM的开发包13.2.2 解压缩Spring DM的开发包13.2.3 创建Spring DM⽬标平台13.3 Spring OSGi项⽬的Maven管理13.3.1 创建Maven POM项⽬13.3.2 修改Maven项⽬类型13.4 Spring OSGi项⽬的模块化设计13.4.1 创建Spring DM业务项⽬13.4.2 设计Spring DM业务项⽬13.5 Spring OSGi项⽬转为插件项⽬13.6 Spring OSGi插件项⽬发布接⼝13.6.1 创建接⼝发布配置13.6.2 添加包的路径导出13.7 Eclipse RCP获取Spring OSGi服务13.7.1 创建Eclipse RCP UI插件13.7.2 获取Spring OSGi服务接⼝13.7.3 调⽤Spring OSGi服务接⼝13.8 Eclipse RCP与Spring OSGi的启动13.8.1 Eclipse应⽤程序启动选项13.8.2 启动Eclipse RCP产品配置13.8.3 启动基于Spring OSGi的RCP程序13.9 在Eclipse RCP中获取ApplicationContext和Bean 13.10 Spring OSGi的Maven插件项⽬打包13.10.1 PDE插件导出向导13.10.2 Maven插件项⽬的打包配置13.10.3 执⾏Maven插件打包13.11 ⼩结14 Eclipse RCP与数据访问14.1 SpringOSGi与Hibernate14.1.1 Hibernate简介14.1.2 数据访问插件⽬标14.1.3 数据访问插件设计14.2 插件如何引⼊第三⽅开发包14.2.1 如何获取第三⽅开发包14.2.2 如何引⽤第三⽅开发包14.3 将普通JAR转成插件格式14.3.1 导⼊向导14.3.2 BND⼯具14.4 创建数据库插件14.4.1 Maven POM配置⽂件14.4.2 properties配置⽂件14.4.3 Spring XML配置⽂件14.4.4 MAINFEST.MF配置⽂件14.5 创建连接池插件14.5.1 Maven POM配置⽂件14.5.2 properties配置⽂件14.5.3 Spring XML配置⽂件14.5.4 Java类设计14.7 创建Hibernate插件14.7.1 Maven POM配置⽂件14.7.2 properties配置⽂件14.7.3 Spring XML配置⽂件14.7.4 扩展点设计14.7.5 Java类设计14.7.6 MAINFEST.MF配置⽂件14.8 创建业务插件14.8.1 Spring XML配置⽂件14.8.2 Java类设计14.8.3 数据库SQL设计14.8.4 MAINFEST.MF配置⽂件14.8.5 添加BundleAnnotationSessionFactoryBean扩展14.9 启动OSGi Framework程序14.10 其他整合数据库的⽅式14.11 基于数据访问插件的RCP程序启动14.12 ⼩结15 Eclipse与Java的模块化设计15.1 基于编程语⾔的模块化15.1.1 Java语句的模块化设计15.1.2 Java⽅法的模块化设计15.1.3 Java类的模块化设计15.1.4 Java接⼝的模块化设计15.2 基于编程⽅法的模块化15.2.1 IoC编程的模块化设计15.2.2 AOP编程的模块化设计15.3 基于程序物理⽂件的模块化15.3.1 Package路径的模块化设计15.3.2 XML⽂件的模块化设计15.3.3 Properties⽂件的模块化设计15.3.4 JAR组件的模块化设计15.4 基于技术架构的模块化15.4.1 OSGi的模块化设计15.4.2 Eclipse插件的模块化设计15.4.3 JMS的模块化设计15.5 模块化的技术移植15.6 ⼩结思维导图防⽌博客图床图⽚失效,防⽌图⽚源站外链:)思维导图在线编辑链接:。
RCP介绍

getSite().setSelectionProvider(this); 如果只是对TableViewer的选择进行监听,因为 TableViewer本身就是一个ISelectionProvider,因此可以直 接这样做: getSite().setSelectionProvider(viewer);
View/Editor交互
Eclipse提供了site,以及ISelectionService机 制,来处理视图之间的简单的交互 。 ViewSite提供了一个交互的中心点,其它 View向ViewSite提供选择事件,或者向其注 册监听器,而事件的触发与转发则由 ViewSite()来完成。
View/Editor交互(continue)
Eclipse Workbench介绍
Workbench(工作台) 只是一个可以提供各种可视部件的框架。这 些部件属于两个主要类别:视图和编辑器。
Editor:允许编辑某些内容,遵循“打开-保存-关 闭”这一循环。 View:提供对象信息。
基本工作台扩展点 工作台定义扩展点,这些扩展点允许插件将 行为添加至现有视图或编辑器,或成为新视 图和编辑器提供实现。
配置菜单
使用ActionSets Plugin.xml的extension,添加 Org.eclipse.ui.actionSets扩展点 新增menu 新增action 完善属性
SWT
窗口小部件
Text,Label,Button等
布局
RowLayout,FillLayout, GridLayout,FormLayout
实现了IEditorInput接口,在打开每一个Editor时候需要这个 EditorInput对象,以便在初始化Editor的时候得到它聚合的 对象。
Eclipse-RCP入门

Eclipse-RCP用于何处? Eclipse-RCP用于何处? IBM-Louts8 IBM-
Eclipse-RCP于我何用? Eclipse-RCP于我何用?
可以快速搭建桌面应用程序 使用Java语言编程 UI组件(widget)丰富 有可视化编程插件(SWTDesigner) 开源软件(版权、开发库)
1999年IBM开始开发Eclipse 2001年IBM发起创建Eclipse开源项目 同年,IBM发起并成立Eclipse协会 开源用户试图将Eclipse 作为通用富客户端使用,不 单单作为IDE。 2004年发布Eclipse3.0提出微小内核+插件的理念 2005年发布Eclipse3.1正式提出Eclipse-RCP的概念
Eclipse-RCP如何使用? Eclipse-RCP如何使用? Widget
Eclipse-RCP如何使用? Eclipse-RCP如何使用?
Example
Eclipse-RCP入门 Eclipse-RCP入门
快速搭建桌面应用程序
大纲
Eclipse-RCP它是什么? Eclipse-RCP怎么来的? Eclipse-RCP用于何处? Eclipse-RCP于我何用? Eclipse-RCP如何使用?
se-RCP它是什么? Eclipse-RCP它是什么?
Perspective应该包含哪些内容;
◦ 一组Viewer,一些Editor
如果通过配置产生一个Perspective; 如何在Perspective增加多个Viewer;
Eclipse-RCP如何使用? Eclipse-RCP如何使用? Layout
在composite中使用 setBounds FillLayout RowLayout GridLayout FormLayout
Eclipse RCP(中文)

Eclipse RCP的本教程介绍了如何开发Eclipse RCP应用程序。
它是基于Eclipse 3.6(Eclipse的太阳神)。
目录1。
Eclipse RCP的概况2。
Eclipse的插件架构2.1。
Eclipse IDE的越南难民。
Eclipse RCP的2.2。
Eclipse RCP的建筑2.3。
Eclipse RCP应用程序的一个主要组成部分2.4。
配置文件3。
安装3.1。
安装3.2。
更新一个Eclipse的Java IDE4。
创建您的第一个RCP应用程序4.1。
创建RCP应用程序4.2。
启动您的RCP应用程序5。
启动过程及顾问6。
运行配置6.1。
概述6.2。
检查运行时配置7。
命令7.1。
概述7.2。
定义命令7.3。
使用菜单中的命令8。
系统托盘9。
点击9.1。
概述9.2。
创建一个视图9.3。
添加你的观点的看法9.4。
结果9.5。
通过添加代码以透视9.6。
编辑/查看互动10。
现场协助和标签装饰11。
JFace的浏览器11.1。
概述11.2。
ComboViewer12。
添加一个状态行12.1。
设置状态行12.2。
共享状态线13。
透视13.1。
添加到应用程序的角度13.2。
选择的角度14。
产品及品牌14.1。
与产品应用14.2。
产品配置14.3。
创建您的产品配置14.4。
依赖性14.5。
启动您的产品14.6。
闪屏14.7。
品牌产品14.8。
自定义启动图标和发射参数15。
部署您的产品16。
技巧和诀窍16.1。
为用户节省布局16.2。
查找未使用的依赖16.3。
部署自己的JRE与您的RCP应用程序16.4。
多用户设置17。
问题与讨论18。
链接与文学18.1。
源代码18.2。
Eclipse资源18.3。
vogella资源1。
Eclipse RCP的概况Eclipse RCP的开发人员可以使用的Eclipse平台,建立灵活和可扩展的桌面应用程序。
Eclipse是建立在一个插件的体系结构。
插件是最小的部署和安装Eclipse的软件组件。
EclipseRCP开发

EclipseRCP开发1-建立第一个RCP前面也介绍了Eclipse RCP的开发知识,接下来我们来做几个实例来学习一下Eclipse RCP的开发。
这篇博客主要是从零开始出发建立第一个RCP程序。
首先下载Eclipse,解压,开发,大家文件创建功能,功能类型为Plug-in Project 。
输入名称之后,点击Next,填入插件信息,最重要的是选择Yest,这个选择才是建立RCP程序。
之后点击Next选择一个RCP模版,这里选择Hello的选项,出现配置信息,三个配置信息是应用窗体名称,包名和应用类名。
点击完成,我们的第一个Eclipse RCP建立完成。
上面图片显示的是建立RCP程序的目录结构。
接下来可以运行这个RCP程序,两种方法,第一种是右键Plugin.xml或选择MANIFEST.MF 选择run as Eclipse Application或者双击Plugin.xml或选择MANIFEST.MF,选择OverView选项卡,单击Launch anEclipse application。
之后就会出现运行结果:到此第一个RCP程序建立完成。
EclipseRCP开发2-建立菜单这篇博客建立一个菜单和工具拦的RCP程序,建立菜单和工具拦是需要利用ApplicationActinBarAdvisor类的,它有一个makeActions方法来声明actions,利用fillMenuBar和fillCoolBar方法添加菜单和工具拦。
打开ApplicationActionBarAdvisor,我们定义几个属性private IWorkbenchAction iExitAction;private IWorkbenchAction iAboutAction;private IWorkbenchAction iNewWindowAction;private IWorkbenchAction iSaveAction;之后找到makeActions方法,在里面可以实例化这几个属性,实例化这几个属性可以通过ActionFactory类,通过这个类可以创建退出、保存、关于、打开新窗体等等操作。
基于RCP可扩展性应用平台研究与实现

基于RCP的可扩展性应用平台研究与实现摘要:rcp (rich client platform)是基于eclipse开发平台而推出的一套用来开发富客户端程序的应用框架。
传统b/s架构虽然在其程序部署,版本控制等方面有很大的优势,但是c/s也具备其独特的优势比如离线处理能力,低服务器负载等等。
本文回顾了eclipse以及rcp程序的特点,同时对比了基于b/s应用的特点。
本研究结合eclipse平台的特点提出一种应用于快速开发应用的可拓展性平台。
关键词:eclipse;rcp中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 23-0000-031 eclipse rcpeclipse rcp属于富客户端解决方案。
富客户端(rich client)的概念产生于20世纪90年代,具有代表性的开发工具如visual basic和delphi等。
富客户端能够支持更高用户使用体验同时提供本地处理能力。
富用户接口(rich ui)能够提供诸如拖放、系统剪切板、系统导航等等功能。
于此对应的瘦客户端则指的是系统终端程序,现在大部分瘦客户端程序已经被富客户端取代。
于此同时,用户接触更多的则是c/s和b/s系统架构的概念。
一个富客户端程序往往是基于c/s架构的。
eclipse rcp具有以下特点:(1)组件化。
eclipse框架本身就是基于插件的。
这些插件可以是可视的插件,并且可以被其他的插件访问。
不同版本的相同插件可以并存,eclipse rcp程序可以指定运行所需插件的特定版本号。
应用这样的框架,rcp程序可以随时的增加或者替换组建。
这对于程序的部署而言提供了极大的便利。
(2)eclipse中间件与eclipse rcp基础设施。
进行eclipse rcp 开发并不要求开发人员开发所有的东西,开发人员可以将精力集中在业务逻辑上,eclipse rcp开发套件提供了诸如用户接口支持(ui),可扩展的组建系统,帮助系统,网络更新系统,错误处理,日志等等。
RCP使用资料

所谓RCP,就是Rich Client Platform的缩写,即富客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能够使用户方便地创建自己的基于Eclipse的应用程序,并且这些应用程序能够得到Eclipse的底层支持。
更重要的是,我们可以利用Java创建象Eclipse这么漂亮的桌面程序。
我相信,在未来的几年里,RCP一定会变得非常流行。
使用RCP,我们可以开发界面象Eclipse这样漂亮的桌面程序,比如医院管理系统啊、CAD软件等等。
遗憾的是,目前在国内基本上找不到关于RCP的中文资料,我们只能通过自己的探索来为我们的程序添加我们想要的功能。
下面让我们一步一步来建立一个Eclipse RCP程序,下面的内容可以说在Google上一搜一大把,有些人会觉得乏味,但是没关系,这只是一个快速的起步。
选择“新建--项目”,选择“插件项目”:点下一步,输入项目名称,选择Eclipse版本,我这里选择的是3.2:点下一步,插件标识和插件名称可以更改,其他的内容都可以保持默认,一定要记得选中富客户机应用程序支持:点下一步,选中一个模板,这里选一个最简单的,到时候看源代码的时候便于理解:点下一步,改一下应用程序标题:点完成,我们可以在项目上面点右键,选择按Eclipse程序运行,就可以看到效果了:在这个程序中,窗口上显示的是一个透视图,透视图中含有一个编辑器区域,以后,我们可以逐步为这个程序添加菜单、工具条和为这个透视图添加视图、编辑器等等。
现在,这个程序只能在Eclipse环境下运行,而RCP的目标是创建可以独立运行的应用程序,我们的事情还没完呢。
下一步,在项目上点右键,创建产品配置文件:输入产品配置文件名:生成的产品配置文件在编辑器中打开,应该是这个样子的:刚开始,上面的几个文本框都是空的,点新建按钮之后,弹出如下的对话框,输入产品名称后,点完成就行了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Eclipse示例
Mylyn
任务管理工具 任务是一个共享的工作单元,如用户 报告的Bug,或者一个功能改进的说 明 项目成员可以用eclipse浏览任务存储 库中的任务,处理分配的Bug 任务储存库指如Bugzilla或JIRA之类 的问题跟踪器
Eclipse示例
Eclipse示例
RCP架构
RCP应用是由一组Plugin组成 Runtime/Equinox(OSGi)
提供运行程序的应用框架 Equinox是OSGi的一个实现 OSGi要求一个Plugin需要定义
公开的API – 提供给其他程序使用的接口
依赖项 – 正常运行所需要的其他插件
RCP架构
SWT
IBM公司开发的标准UI组件库 基于Java的窗口组件,类似Java本身 提供的AWT和Swing窗口组件
基于Eclipse的Flash应用开发平台
Eclipse示例
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例
插件开发环境
PDE
(Plug-in Development Environment)
测试和性能分析平台,提供测试调试 、概况分析等测试和性能工具
BIRT(Business
Intelligence and Reporting Tools)
提供报表工具和框架
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例
Eclipse项目
Eclipse开源社区有超过60个开源
项目, 可以分为以下类别
企业应用 嵌入式设备开发 富客户端平台 富互联网应用 应用框架 应用生命周期管理 面向服务架构
Eclipse项目
TPTP
CDT
BIRT
GEF EMF
JST
PDE
RCP App
WTP
JDT Eclipse Platform
Workbench
Advisor设置工作平
台展示
控制应用程序的显示效果,如菜单, 工具栏,视图,编辑器等
RCP配置文件
MANIFEST.MF
配置OSGi的信息
plugin.xml
配置扩展点的信息
RCP配置文件
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例
RCP简介
RCP(Rich
Client Platform)富 客户端应用平台
丰富的用户体验 通常作为后台应用的客户端 可以跨平台使用 组件模式 集成更新功能 可扩展
RCP简介
富客户端应用程序使用操作系统本
地的窗口和图形界面
使用操作系统的控件 支持拖拽等操作 与操作系统的组件模型集成 更快的响应速度
Eclipse IDE for JavaScript Web Developers
• 适用于JavaScript创建Web应用,包括JavaScript IDE,JavaScript,HTML,CSS和XML等工具
Eclipse软件包
Eclipse Modeling Tools
• 适用于Eclipse模型开发,包括EMF, GMF, MDT XSD/OCL/UML2, M2M, M2T和EMFT 包括完整的SDK,开发工具和源代码
Pulsar for Mobile Developers
• 用于开发移动应用,包括Eclipse平台, Java开发工具(JDT),Java移动开发工 具(MTJ)和插件开发环境(PDE)等
Eclipse SOA Platform for Java and SOA Developers
• 用于开发SOA应用,它包括一个Java IDE, Swordfish Tooling,OSGi 4.2远程服务实 现,插件开发环境(PDE),XML和WSDL编 辑器
RCP简介
富客户端对比 瘦客户端
用户不需要安装程序 使用浏览器
富客户端
需要安装程序 用户需要及时的响应,更丰富的用户 界面,3D图像等
RCP架构
RCP应用
Custom Plug-in
Eclipse资源
Workbench
JFSWT
Runtime / Equinox(OSGi)
Eclipse项目
Eclipse
Eclipse
Project
Tool Project
核心平台,完善Eclipse本身的平台 提供可扩展的开发工具,编辑器,编 译器,调试工具等
Eclipse
Technology Project
研究新的应用领域,如富Ajax平台, 流程平台,语音识别等
Eclipse项目
Help System
Eclipse Plugin
Java EE Plug-in GUI Builder Plug-in
Workbench
Workspace
Team component
Modeling plug-in
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例
EMF(Eclipse
Modeling
framework)
依据使用XMI描述的建模规格,生成 结构化数据模型的工具和其他应用程 序的代码
GEF(Graphic
Editor Framework)
根据应用程序模型创建图形化编辑器
Eclipse项目
TPTP(Test
and Performance Tools Platform)
Eclipse IDE for Java and Report Developers
• 适用于开发报表需要的Java EE和Web应用
Eclipse for RCP and RAP Developer
• 用于开发Eclipse plug-ins,富客户端平台 (RCP)和富Ajax客户端平台
Eclipse软件包
社区
由Eclipse基金会管理 由软件供应商,解决方案提供商赞助 提供教育和研究的机构
Eclipse架构
Eclipse架构的设计思想
软件组件化架构,一切皆插件。Eclipse核心 很小,其它所有功能都以插件的形式附加于 Eclipse核心之上
Eclipse架构 Eclipse Platform
基于 Eclipse 和 OSGi 的应用程序开 发环境 提供创建Eclipse插件, fragments, features, 更新站点和RCP程序所需要 的工具 可以构建与Eclipse环境集成的工具
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例
Eclipse软件包
在Eclipse官网已经按照开源项目
的不同类别,提供软件包下载
目前最新的版本是Eclipse Helios (3.6.1) 我们开始使用的开发平台Abuilder是 基于eclipse3.4开发的
Eclipse软件包
Eclipse IDE for Java Developers
• 为Java程序员提供基本的IDE,包括Java IDE,CVS,XML编辑器和Mylyn
Eclipse Classic
• 常用的Java开发环境,包括Eclipse平台,Java开 发工具(JDT)和插件开发环境(PDE),源代码与和 对应的文档
Eclipse IDE for Java EE Developers
RCP示例
SWT组件示例
RCP应用示例
TCBS系统
Abuilder应用示例
后督项目 IBCS ACS
Q&A
42
JFace
提供在SWT基础上封装好的组件 GUI中间层,简化了基于SWT的应用 程序的构建
Workbench
提供展示UI组件的平台
RCP应用的主要组件
Application主程序
RCP应用的主程序,实现了 IApplication的接口
Perspective视角
实现了org.eclipse.ui.perspective的类
JDT(Java
Development Tools)
Tools Platform)
提供标准的常用Java开发工具
WTP(Web
提供标准的常用Web和Java EE应用 开发工具
DTP(Data
Tools Platform)
提供标准的常用DB工具,数据库访 问查询的工具与模型
Eclipse项目
App Engine
可以在Google提供的平台上运行应用 平台包括Google File System, BigTable构建于GFS之上的数据库系 统 可免费使用500MB的存储和足够的 CPU带宽来满足每天5百万次页面浏 览
Eclipse示例
Eclipse示例
Flash
Builder
Eclipse
框架和一组服务,通过插件组件 构建开发环境
Eclipse的本身只是一个框架平台,但是众多 插件的支持,使得Eclipse拥有很好的灵活性
Eclipse简介
开发平台
著名的IDE,插件平台,富客户端平台 提供可扩展的开发平台,运行环境和应用框 架,方便构建和部署软件
开源项目
按照开源规则开发项目
目录
Eclipse简介
Eclipse项目 Eclipse软件包 Eclipse示例 插件开发环境 RCP简介 RCP示例