为基于Eclipse3.4的RCP应用创建补丁程序

简介: 产品发布后,经常需要提供给用户一些临时的或小的补丁程序来修正用户在使用中碰到的问题 。Feature Patch 是实现插件更新的一种灵活方式,本文中主要讲解了对基于 Equinox 的 RCP 如何创建 、部署 Feature Patch 并为部署后的出现的问题,提供了解决思路。

如果用户在使用过程中发现了产品中的问题,对于研发人员来说,一种解决方案是在下一个发布版本 中包含对这些问题的修改。但是如果问题非常紧急,甚至影响了客户的正常工作,通常的做法是创建临时 的补丁程序,然后安装到用户的生产环境中。对于基于 Eclipse 的 RCP 产品而言,产品的升级就是插件 功能的改进即插件版本的提高。在创建了新版本的插件后,如何交付给用户呢?一种方法是用户通过 Software Update 界面指定 Update Site 进行安装。但是这种机制对于商业化的产品或者对于产品小的 改动而言较为笨重,同时由于产品环境是由安装软件定制的,通过 Software update 界面可能无法完成 安装。本文介绍了一种通用的方法,创建并部署 Feature Patch,能够比较灵活的解决问题。

Feature 及 Feature Patch 的概念

Plug- in(插件,OSGI 中的 bundle)包含了产品功能的 具体实现,但从整个产品的角度看粒度较小,不利于管理。Feature( 功能部件 ) 能将功能相近的插件组 织起来,用户管理的是一个个的功能模块,而不需要具体的实现细节,使整个产品的结构层次化。通过使 用 Feature 来打包插件,可以做到:

1. 列出所有的前提条件,方便 Eclipse 的配置管理

2. 使用 Eclipse Software update 来对插件进行管理

3. 支持品牌化管理,可以在 feature 中定义一个欢迎页面,让用户对插件的功能更加熟悉。

尽管简单的拷贝 Plug-in 到 eclipse 的 Plugins 目录也能生效,但是这些插件是不被管理的,这种做法是不推荐的。同时如果基于 Eclipse 的 RCP 配置为基于 Feature 进行安装、升级,那么只是生成并拷贝高版本的插件,并不能生效 ,对于这种场景,就需要以 Feature 为单位来创建补丁程序即 Feature Patch。

Feature Patch 是 Eclipse 支持的一种工程类型,与 Feature 工程结构类似,并不实际参与 Eclipse 启动过程,在 Feature Patch 中会指定对哪个 Feature 创建补丁,特点包括

一般比较小,且必须指定对哪个 Feature 创建补丁

Feature Patch 只包含需要更新的插件,部署后只会对已存在 Feature 中的部 分插件进行更新

为简化补丁机制,本文采取增量式补丁,即每个 feature 只包含一个 feature patch 程序。举例来说,假设 Feature A 已经包含了补丁程序 B,那么下次发布的补丁程序应该包含了 补丁程序 B 中的修改。

Eclipse 插件的版本规范

在创建 Feature patch 过程中,会更改 插件的版本,这就需要读者了解插件的版本规范。在 Eclipse/plugins 目录下的插件名字大都为 org.eclipse.equinox.p2.engine_1.0.4.v20080930.jar 类似结构,其中 org.eclipse.equinox.p2.engine 为此插件的 ID,而下划线后面的为此插件的版本号。在 Eclipse 中, 插件的版本号由四部分组成:major.minor.service.qualifer

表 1. Eclipse 插件版本规范

部分名 什么时候改变
major 当产品的 API 发生大的变化时,major 部分应该增加,当 major 部分变化时,minor 和 service 部分应该置 0
minor “外部能够看到”的改变,比如说重要的性能改进,主 要代码重写
service 不同发布版本之间的插件发生改变,比如代码中的 bug fix,编译选项设置改变
qualifier 不同 Build 之间的变化
时间: 2024-08-26 21:57:08

为基于Eclipse3.4的RCP应用创建补丁程序的相关文章

C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理

一.MFC概念和作用 1.全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的执行流程MFC就是一个库(动态库,静态库)MFC还是一个程序框架 2.为什么使用MFC基于框架编程,提高工作效率,减少开发周期,节约开发成本. 二.几个重要的头文件 afx.h    -绝大部分类的声明头文件 afxwin.h -包含了afx.h和windows.h afxext.h -提供了扩展窗口类的支

使用Eclipse创建Java程序与调试代码

http://www.aliyun.com/zixun/aggregation/13428.html">Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT).  Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2

创建分布式应用程序学习心得

程序|创建|分布式|心得 今天,通过学习MSDN 2003 帮助文档提供的演练程序-创建分布式应用程序,对有关分布式应用程序的程序结构.设计思路和分布式应用程序的特点有了初步的认识. 通过这篇演练文章的学习,我主要在以下方面有了一些进步和心得: Ø 分布式应用程序结构层次 Ø 分布式应用程序的规划 Ø 创建Web Service的方法 Ø 在Web Application中使用Web Service的方法 Ø 在Windows Application中使用Web Service的方法 1. 分布

使用Windows PowerShell创建WinForm程序

Windows PowerShell最突出之处便在于.NET类库的支持,很大的扩展了脚本的 能力.这使我们能直接在脚本中通过System.Windows.Forms程序集来创建窗口. 今天初次尝试了一下在PowerShell下创建WinForm程序,将完成的这个简单的 例子分享给大家. 如同在C#编写WinForm程序中一样,先创建一个Form类的实例,然后初始化: 添加流式布局面板,在面板上加了一个文本框和一个按钮,给控件添加必要的事 件处理.当然使用C#的时候通常是VS自动为我们生成一个窗体

Android简明开发教程九:创建应用程序框架

Android简明开发教程八说明了程序需要实现的功能,就可以创建Android项目了.请参见Android简明开发教程三:第一个应 用Hello World ,创建一个新项目AndroidGraphics2DTutorial.今天先介绍创建的程序的框架.然后再项目添加如下类定义: 添加第三方库文件 AndroidGraphics2DTutorial调用了引路蜂二维图形库,因此需要在项目中添加第三方库引用(libgisengine.jar),打开 Android属性窗口,添加External JA

win8系统在桌面创建应用程序快捷方式的方法

  win8系统在桌面创建应用程序快捷方式的方法        方法一: 1.找到安装应用程序的安装路径,然后直接将应用程序的图标右击选择发送桌面快捷方式; 2.桌面空白右击新建"快捷方式" 然后弹出一个框,你可以在点击"浏览",然后选择你所知道的安装后路径,找到该文件或文件夹后点击"确定"然后点击下一步,输入"快捷方式名称"点击"完成"; 3.Windows 8的开始菜单图标发送到桌面,进入Metro界面

Win8在桌面创建应用程序快捷方式的方法

Win8来了,之前使用Win7或者WinXP的朋友那是相当的不习惯,没有开始按钮不说,就连安装完了应用程序,在桌面创建一个快捷键都不那么容易. 下面就介绍一下Win8在桌面创建应用程序快捷方式的操作方法,我们假设安装了Office 2010软件后,想将Word.Powerpoint等应用的快捷方式放到桌面上来: 1.进入Metro界面,找到Word 2010.Powerpoint 2010等软件的快捷图标; 2.鼠标右键单击"Microsoft Word 2010"图标,在下方会弹出一

鲁棒控制 程序-基于模糊鲁棒控制的车辆半主动悬架分析程序求助

问题描述 基于模糊鲁棒控制的车辆半主动悬架分析程序求助 以下是基于模糊鲁棒控制的车辆半主动悬架分析,求各路大神帮忙解释一下程序是啥意思.实现什么功能.非常感谢~ function [] = SGA__suspension_flc_replot()% /*M-FILE Script SGA__suspension_flc_replot MMM SGALAB /% /===================================================================

《JavaScript构建Web和ArcGIS Server应用实战》——2.3 使用ArcGIS API for JavaScript创建应用程序的基本步骤

2.3 使用ArcGIS API for JavaScript创建应用程序的基本步骤 使用ArcGIS API for JavaScript创建任何GIS地图应用程序,都需要遵循一些步骤.假如想让地图成为应用程序的一部分,那么就需要你按照这些步骤来执行.在阅读本书时,我很难想象你不按照这些步骤来做会遇到怎样糟糕的情况.简而言之,你需要遵循以下步骤. 1.创建页面HTML代码. 2.引用ArcGIS API for JavaScript和样式表. 3.加载模块. 4.确保DOM可用. 5.创建地图