`

eclipse更新功能的实现

阅读更多

Eclipse功能部件feature

在插件组成的软件产品中,基于灵活性考虑,一般不会只有一个插件构成,而是设计成相互独立又互相关联的集合。当产品发布时,若是基于插件则将呈现杂乱无章的现象。因此采用feature实现。

l  Feature概念

是由一个或多个插件及它们的附属数据构成的软件产品。用来管理插件的安装和升级。

l  Feature构成

描述:包括对插件的描述、版本声明和许可协议等

内容:feature可以包含插件和段,也可以包含另一个featrue

依赖性:指出该feature所依赖的其他插件或feature

安装:指定安装feature时的特殊要求(该feature是否要和别的feature安装在同一个目录,安装时需不需要调用其他的处理程序等)

l  Feature功能

声明使用软件产品的前提需求

用户可以禁用整个软件产品(禁用后,相应的插件不会启动)

安装软件产品后,显示欢迎画面

在平台中显示代表软件产品的标签

当产品有了更新版本时,通过自动升级功能下载并升级

思考几个问题:

eclipse平台如何实现feature的启用、禁用、卸载(但不是手动添加、删除文件)?

eclipse平台如何在“关于对话框”中显示功能部件标签?

eclipse中如何实现自动更新?

创建feature

创建feature项目。

在概述选项卡中,填写feature的标识、版本(如1.0.3)、名称等,还可以填写更新站点的地址和名称。另外还可配置插件的安装环境。

在信息选项卡中,填写功能部件的描述、版权声明、许可协议以及访问更新站点的备选站点(从概述中声明的更新站点更新失败时用到)。

插件及功能部件选项卡的使用就不提了。

依赖性选项卡需要提的是在它里面添加的插件和功能部件是该feature所依赖的东西,而插件和功能部件选项卡中的东西是该feature所包含的东西。不要弄混了。在自动更新时,系统会检查目标系统是否安装了依赖的插件或feature,如果没有,会出现安装失败。这样可以防止用户安装不能使用的插件。(注意:如果手动复制粘贴feature文件到本地,不会出现这个检查,但运行插件会出错)

安装选项卡暂时不用指定内容。

更新功能

创建更新站点

更新站点需要创建,类似创建插件项目,我们创建更新站点项目,该项目不包含可执行内容,创建实际上就是一个配置过程。它的核心是site.xml文件。

在站点图选项卡中,可以创建类别然后添加feature;也可以不创建类别,直接添加feature,在从更新站点安装feature时,为分类的feature显示为“其他”类别。

在归档选项卡中设置更新站点的URL和描述信息。URL可以是本地路径(如file:/D:/updatesite),也可以是http协议访问的网络路径。feature中的更新站点的URL要和这个路径保持一致,故需要修改featureURL为(file:/D:/updatesite)。

设定好上述,就可以构建更新站点了,在站点选项卡中选择某一feature点击构建(或是选择全部构建),eclipse将在当前目录下生成featureplugin目录,并将相关的feature和插件导入其中。将这两个目录和site.xml文件一起复制到D:/updatesite下,就完成站点创建。

根据更新站点安装插件

我们在“帮助”—>“软件更新”中新建一个更新站点,路径就是上面我们创建URL。根据界面操作提示,一直“下一步”就完成了安装,它自动重启工作台。

如何更新

首先,对feature做了改动,如给某个插件添加了一个德文语言包,我们将这个语言包添加到功能部件中来,并修改feature的版本号。

打开更新站点项目,站点图选项卡中的版本自动随之更新(有疑问,验证没通过,可以手动删除后再添加),单击同步,然后单击构建,然后将构建的feature目录,plugin目录以及site.xml复制到d:/updatesite下。

在“帮助”—>“软件更新”找到我们的更新站点,右键查找更新,找到后提示安装。上述更新是手动更新,如果启动了自动更新功能,自动更新时也会查找该站点是否有更新内容,这条没验证过

添加产品标签

要想在产品“关于对话框”中显示某个feature的一个图标,需要分两步:

feature.xml中指定一个品牌插件,产品标签的信息将从这个目标插件中取得。这个品牌插件就是一个一般的插件,我们需要在这个插件的根目录下创建一个about.ini的文件,并编辑之。内容为:

aboutText=\u5730\u1323……

featureImage=image.gif

在构建路径时要把about.iniimage.gif文件添加进去,重新构建并发布,就可以了。

注意:在这里可以用feature中的某一个插件代替,而不用重新创建一个新的品牌插件,在里面我们定义about.iniimage.gif就可以了。

添加branding的内容验证没有通过。

远程更新功能

上面的功能是基于本地路径的更新方式。下面我们看看软件的远程更新功能。

首先,也是要创建feature项目,配置更新站点http://localhost:8080/chenTestupdate.

其次,安装Tomcat服务器。比如装到:d:/program/apache software foundation/tomcat6.0下。

再次,创建更新站点项目,这里可以勾选“生成列示站点中所有可用功能部件的web页面”。当然这里同样要求更新站点地址保持一致。

再次,创建更新站点。在d:/program/apache software foundation/tomcat6.0/webapps下创建文件myupdate/WEB-INF/web.xml(文件内容不赘述).

最后,我们在更新站点项目中构建feature,并拷贝featurespluginsxxx/webapps下。

一些更新功能所需要依赖的插件:

 

自动更新功能

上面无论是本地更新还是远程更新,都是我们用eclipse提供的更新管理器,以向导的方式提示用户更新。而更多的时候是我们通过一个在线升级菜单,更新任务由系统自动完成,而不须干预。(或者干脆当系统启动时,自动检测一遍是否有更新,检查完成后再让用户登录)。

任务1:通过菜单完成更新

我们定义一个菜单,其actionupdate,这个action将会搜索升级信息、收集更新内容、执行更新并重启。

这个类的内容参考《eclipse rcp应用系统开发方法与实践》电子工业出版社,陈冈著 P369

任务2:系统启动时自动检测并升级

ApplicationWorkbenchAdvisor中覆盖preStartup(){}方法,并调用P2Util.checkForUpdate();参考XXX系统启动更新方式。

分享到:
评论

相关推荐

    eclipse + MySQL+struts 实现登录注册

    本项目"eclipse + MySQL+struts 实现登录注册"是一个典型的Java Web开发示例,它涵盖了从开发环境搭建到数据库交互以及用户身份验证的关键步骤。下面将详细介绍这个项目中的相关知识点。 1. **Eclipse**: Eclipse是...

    Eclipse实现超级联想的功能

    本篇文章将详细讲解如何在Eclipse中实现超级联想功能,这一特性对于编写代码时的自动补全和快速定位至关重要。 首先,Eclipse的超级联想功能主要体现在其内置的Content Assist特性上。Content Assist是一种代码自动...

    借用Eclipse 实现文本内容对比功能

    标题“借用Eclipse 实现文本内容对比功能”指的是在Eclipse集成开发环境中利用其内置的文本比较工具来对比两个文本文件的内容。Eclipse作为一个强大的Java IDE,提供了丰富的插件和功能,其中包括文件比较功能,这...

    eclipse实现的聊天室

    本项目"eclipse实现的聊天室"提供了一个实用的示例,旨在帮助开发者了解如何利用Eclipse来构建实时通信的应用。这个聊天室示例不仅能够加深对网络编程的理解,还能展示多线程、套接字编程以及并发处理等关键概念。 ...

    用eclipse快速实现接口的方法

    - **代码重构**:如果需要更改接口,Eclipse的“Refactor”功能允许安全地更新所有实现该接口的类,无需手动修改每个类。 - **代码导航**:使用“Navigate”菜单中的“Open Type”或“Open Resource”可以快速定位到...

    Oracle、eclipse、html登录注册框架(以实现主要功能)

    功能实现(适用于较初学者) Oracle数据库与eclipse与前台html建立框架 ******************* 用户登录、注册 ******************* 登录: 实现用户登陆验证输入信息与数据库信息进行匹配 ******************* 注册:...

    properties eclipse远程更新网址

    标题中的“properties eclipse远程更新网址”指的是在Eclipse集成开发环境中配置properties文件以实现远程更新功能。这个功能通常涉及到Eclipse的插件管理和更新机制,尤其是对于那些需要定期升级或定制化开发的项目...

    代码汇总(Eclipse).rar_eclipse实现查询_eclipse注册登录_html_needlef78

    在本项目中,我们主要探讨的是如何在Eclipse环境下实现一个功能完备的交友系统,包括用户注册、登录以及关键词查询匹配的功能。以下是关于这个主题的详细解析: 1. **Eclipse实现查询**: Eclipse是一款强大的Java...

    在eclipse上实现的手机地图程序

    在Eclipse中,通过Android SDK可以接入谷歌地图API,实现地图功能。 【知识点三】:手机地图程序的基本结构 一个基本的手机地图程序通常包括地图视图、定位服务、路线规划和地理编码等功能。地图视图展示地图数据,...

    Eclipse rcp 实现文本内容对比功能

    在本文中,我们将深入探讨如何使用Eclipse RCP(Rich Client Platform)实现文本内容的对比功能。Eclipse RCP是一个强大的开发框架,它允许开发者构建桌面应用,而文本内容对比则是许多开发工具中的一个基本特性,...

    Eclipse中跟踪具体功能的实现

    ### Eclipse中跟踪具体功能的实现 #### 背景与目的 随着软件系统的复杂度不断提高,理解并追踪特定功能的实现路径变得越来越重要。对于初学者而言,掌握一种有效的方法来定位并理解代码背后的逻辑尤为关键。本文将...

    Eclipse 常用技巧功能

    以下是一些Eclipse的常用技巧和功能,可以帮助提升编程效率,适用于初学者和专业开发人员。 1. **版本信息**: - Eclipse Platform 版本 3.6.1.M20100909-0800 是基础的Eclipse平台,提供了基本的IDE功能。 - ...

    Eclipse实现代码折叠功能插件,基于com.cb.eclipse.folding-1.0.6.jar

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它提供了丰富的功能来帮助开发者高效地编写和管理代码。在软件开发过程中,代码折叠功能是一项非常实用的工具,它允许开发者隐藏或展开代码块,以便于集中精力在...

    eclipse常用的一些功能

    - `Override/Implement Methods`:当你实现接口或继承父类时,此功能会自动列出需要覆盖或实现的方法。 - `Generate Getter and Setter`:为类变量快速生成访问器和修改器,节省手动编写的时间。 - `Generate ...

    javaweb登录功能实现,eclipse开发工具,mysql作为数据库

    本教程将引导你通过Eclipse开发环境和MySQL数据库来实现一个简单的网页登录功能。 首先,我们需要创建一个HTML表单,用于用户输入用户名和密码。表单通常包含`<form>`标签,指定`action`属性为处理表单数据的...

    安卓模拟器上实现的通信录源码带项目

    这个项目提供了从设计到实现通信录功能的完整代码,适用于学习安卓开发或需要快速搭建通讯录功能的开发者。通过在Eclipse集成开发环境中直接导入,用户可以方便地进行编译和调试。 1. **安卓模拟器**:安卓模拟器是...

    Eclipse 插件更新地址

    - **简介**:该插件为Eclipse添加了调用层次结构和实现者查看器功能,帮助开发者更好地理解代码之间的关系。 5. **EasyExplore** - **更新地址**:`...

    eclipse打开实现类插件

    在使用过程中,如果遇到插件不兼容或功能异常的情况,记得检查Eclipse的版本和插件的版本是否匹配,或者尝试更新Eclipse和插件至最新版本。同时,确保你的JDK版本也与Eclipse相兼容,因为有些插件可能依赖于特定版本...

Global site tag (gtag.js) - Google Analytics