在ECLIPSE RCP开发工作中,完成产品与插件的安装模式、共享JAR,以及插件调用产品的包。需要解决一系列问题:
1:解决PRODUCT与插件依赖集
2: PRODUCT如何向PLUGIN开放自己或公共JAR的包
3: PLUGIN如何引入PRODUCT的包
<o:p> </o:p>
下面给出解决方案:
1, 解决PRODUCT与插件依赖集
现在还没有有效的办法解决,现在只能利用开发中的经验来添加依赖的插件。添加依赖插件都是在产品中添加,所以,对其他人在开发各个模块(在ECLIPSE中称为插件)时没什么影响,因为,我们已做好了相对依赖集齐全的产品
依赖集添加,我们使用功能部件中的feature.xml中添加依赖插件,对应配置文件编辑器的plug-in菜单项。设置参照图(1)示:
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>
图(1)
功能部件,其作用大家可以参看IBM的相关文章http://www-128.ibm.com/developerworks/cn/linux/opensource/os-ecfeat/。
<o:p> </o:p>
2,PRODUCT如何向PLUGIN开放自己或公共JAR的包
在 3.1 之前版本的 Eclipse 中,在每个插件的 plugin.xml 文件中定义插件依赖关系以及扩展和扩展点。在使用 OSGi 的新版本 Eclipse 中,依赖关系信息被分解到 manifest.mf 文件中。在产品的主程序中,需要做一些设置,如下:
(A)打开META-INF /manifest.mf。进入下面界面,选择runtime菜单。可以看到runtime exported packages,对应到Export-Package属性,manifest.mf文件的属性作用请参照IBM译文http://www-128.ibm.com/developerworks/cn/opensource/os-ecl-osgi/index.html。Export-Package 该属性指定要公共暴露给其他插件的所有包。设置可参照下图(2):
图(2)
<o:p> </o:p>
3,PLUGIN如何引入PRODUCT的包
调用product的包,首先,需要增加增加依赖的插件,因为插件是在产品的基础上来加载的,所以需要将产品设为其运行依赖。设置方法如图(3):
图(3)
<o:p> </o:p>
在wokespace中需要import产品工程。这样才能在PLUGIN中引入产品的包。这里需要注意的是引入包路径为;
分享到:
相关推荐
3. **实现插件功能**: 根据插件的需求,编写Java代码实现具体的功能。这可能包括实现视图类、编辑器类、命令处理类等。 4. **声明激活类**: 激活类是插件运行时的入口点,负责插件的初始化和关闭操作。在`...
插件之间通过声明式的依赖关系进行交互,并利用 OSGi(Open Service Gateway Initiative)规范实现动态加载和卸载。这种模块化的设计使得应用程序更加灵活且易于维护。 ##### Extension Points 扩展点(Extension ...
4. **插件开发**:在Eclipse RCP中,开发通常涉及到创建插件项目,定义插件元数据,编写插件激活类,以及实现视图、编辑器和其他组件。开发者可以使用Eclipse的插件开发环境(PDE)工具,它提供了图形化的界面来创建...
正确地管理和使用插件ID对于插件之间的通信和依赖关系至关重要。 5. Actions的用法(菜单和工具栏) - 概述:在RCP应用程序中,Actions通常表现为菜单项和工具栏按钮,它们处理用户的交互事件。 - 通过编码添加:...
以上就是关于在RCP插件中实现许可证限制的一些关键点。在实际开发中,还需要结合具体的业务需求和安全策略进行详细设计和实现。在提供的压缩包文件中,`btsServerCode`可能包含了服务器端处理许可证验证的代码,而`...
在提供的压缩包中,包含了关于Eclipse RCP插件开发15至24章的学习笔记,这些章节覆盖了多个关键主题,下面将对这些主题进行详细解读。 1. **第15章:对话框和向导(Dialogs and Wizards)** - 在Eclipse RCP中,...
RCP是基于插件的,每个功能模块都可以作为一个插件,这些插件之间可以通过服务进行通信,实现功能的无缝集成。这种模块化的设计使得开发和维护变得更加灵活和高效。 集成RCP插件的步骤主要包括以下几个关键点: 1....
本文将详细阐述实现RCP应用程序的基本步骤,同时参考《Eclipse插件RCP中文入门教程.pdf》中的内容,帮助你更好地理解和掌握RCP开发。 1. **安装Eclipse IDE for RCP and RAP Developers** 开始RCP开发前,首先需要...
### 实现RCP在线升级说明 #### 一、前言 本文将详细介绍如何实现RCP(Rich Client Platform)客户端的在线升级功能。RCP是一种基于Eclipse框架的应用程序开发技术,它允许开发者构建功能丰富的桌面应用程序。随着...
eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码...
转换过程中需要注意的是,插件间的依赖关系要处理得当,避免循环依赖,同时确保每个插件的可独立性。此外,良好的设计模式和编程规范能提高代码的可维护性和可扩展性。 在Eclipse插件开发中,熟悉PDE(Plug-in ...
RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)是Eclipse插件开发中的核心概念。 RCP是Eclipse提供的一种用于构建复杂桌面应用程序的框架。它基于OOP(面向对象编程)原则,提供了可扩展性、模块化...
它的主要目标是解决Java应用程序的模块化问题,使得模块间的依赖关系可以动态管理,从而实现模块的热更新、热部署和隔离性。 **OSGI核心特性** 1. **模块化**:OSGI将Java应用划分为可独立加载和卸载的模块(称为...
通过以上步骤,我们不仅成功创建了一个插件,还将它导入到了RCP项目中,并实现了基本的功能调用。这种插件化的开发模式极大地提高了软件的可扩展性和灵活性,使得开发者可以根据实际需求轻松地增加或替换功能模块。
### Eclipse插件RCP中文入门教程关键知识点解析 #### 一、Eclipse平台概述与起源 Eclipse平台是一个开源的、基于Java的可扩展开发框架,由一系列服务和框架构成,旨在通过插件组件构建高度定制化的开发环境。...
Eclipse RCP的核心概念是模块化,通过插件(Plug-ins)机制来构建可扩展的应用程序。以下是对Eclipse RCP插件开发学习笔记1-14章的详细知识点解析: 1. **第1章 Eclipse平台简介**: - Eclipse平台是基于OSGi...
这个压缩包包含的“eclipse RCP学习项目源码&扩展控制台插件for eclipse3.5”是针对Eclipse 3.5版本的一个学习资源,它涵盖了RCP应用开发的基础和如何创建自定义控制台插件。 首先,RCP项目源码是理解Eclipse RCP...