`
zzmccnu
  • 浏览: 76051 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Eclipse RCP 定制启动过程

阅读更多
Eclipse RCP 定制启动过程

问题:一个RCP程序,打包好后,如何双击某个工程文件,用这个RCP程序加载这个工程?换一个说法就是如何用Eclipse打开一个已有工程。

解决思路
    Eclipse平台目前是这样的,要打开一个已有的工程,先运行Eclipse程序,然后选择File菜单下面的Import来完成这个操作。RCP是基于Eclipse平台的,如何能开发出一个RCP应用程序,这个程序能够直接打开一个已有的工程?
    要完成这项功能,需要定制RCP的启动过程,Eclipse RCP程序都要实现IApplication这个接口,看看接口的源码(省略了部分注释):
package org.eclipse.equinox.app;

/**
 * Bootstrap type for an application.  An IApplication represent executable 
 * entry points into an application.  An IApplication can be configured into 
 * the Platform's org.eclipse.equinox.applications extension-point.
 *
 * <p>
 * Clients may implement this interface.
 * </p>
 * 
 * @since 1.0
 */
public interface IApplication {

	public static final Integer EXIT_OK = new Integer(0);

	public static final Integer EXIT_RESTART = new Integer(23);

	public static final Integer EXIT_RELAUNCH = new Integer(24);

	public Object start(IApplicationContext context) throws Exception;

	public void stop();
}

    从IApplication接口可以看出,要定制RCP的启动过程,就需要在重写start()方法上做文章了。现在再回到如何打开Eclipse已有工程这个问题上面。初版预计有以下步骤:
  1. 读取工程文件的路径参数(例如.project文件),该参数可以从start()方法的参数IApplicationContext context中获取。
  2. 打开一个指定的workspace,我们可以规定这个workspace只能有0个或1个工程。
  3. 将该工程加入到打开的workspace中,如同Eclipse导入工程的工程。

上面的几个步骤都是只需要在start()方法里面实现的过程,比较笼统,需要进一步细化,完善其中的细节。
1. 读取工程文件路径的,示例代码如下:
public Object start(IApplicationContext context) throws Exception {
		// log the arguments
		String[] arguments = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
		Log.info("arguments.length = " +arguments.length);
		if(arguments.length > 0) {
			Log.info("Arguments[0] = " +arguments[0]);
		}
		return super.start(context);
}

2.打开指定工作区(workspace),可以参照Eclipse启动参数,我们输入以下命令就可以让它启动后进入指定的工作区。
引用
eclipse.exe -data workspace-name

3.过程最复杂的就是如何把这个工程加入到我们打开的workspace中了。具体实现过程打算参考eclipse导入工程部分的源代码。
(未完...)
分享到:
评论
2 楼 zzmccnu 2012-08-22  
可能是你的工程所依赖的插件在新的Eclipse环境中没有找到,检查下工程依赖的插件列表。
1 楼 Ritamingming 2012-06-11  
请教您个问题:我的工程是之前做的,我现在导入工程到EClipse中,总是报
package org.eclipse.equinox.app;    错误,不存在,是什么原因。
"import org.eclipse.equinox.app";   ---can't be resolved
导致IApplication接口无法使用。

相关推荐

    Eclipse RCP培训.zip

    10. **RCP应用生命周期**:从启动到关闭,Eclipse RCP应用有一套完整的生命周期管理,包括启动配置、初始化、运行以及退出阶段。 11. **插件开发**:开发Eclipse RCP应用涉及创建插件项目、定义插件依赖、编写插件...

    Eclipse RCP 插件开发指南

    通过使用Eclipse RCP,开发者可以创建高度可定制和扩展的应用程序,这些应用不仅具有强大的功能,而且还能与其他Eclipse插件无缝集成。 ##### Eclipse Workbench Eclipse Workbench 是 Eclipse RCP 的核心组成部分...

    Eclipse RCP详细教程

    ### Eclipse RCP 详细教程 ...以上介绍了Eclipse RCP的基本概念和创建第一个RCP程序的过程。后续章节将继续深入探讨更多高级主题和技术细节,包括如何添加组合键、系统托盘、外观设计、与编辑器交互等内容。

    菜鸟EclipseRCP学习之路

    1. 安装Eclipse IDE for RCP and RAP Developers版本,这是一个专门为RCP开发定制的集成开发环境。 2. 创建一个新的Eclipse RCP项目,选择适当的模板,如“Basic”或“Feature-Based”。 3. 配置项目的运行时环境,...

    通过例子学习EclipseRCP开发

    #### RCP应用的启动过程 当启动一个RCP应用时,Eclipse首先加载核心插件,然后根据插件之间的依赖关系加载其他插件。工作台(Workbench)会初始化并加载所有已注册的透视图、编辑器、视图等。一旦初始化完成,用户...

    EclipseRCP系统开发与实战(书).rar

    - 应用启动:启动过程包括加载插件、初始化工作台等步骤。 - 用户交互:通过视图和编辑器处理用户输入。 - 事件处理:使用Eclipse的事件模型,监听并响应用户操作或系统事件。 - 应用关闭:正确关闭资源,保存...

    Eclipse RCP开发教程

    创建完成后,开发者可以在 Eclipse 内部或者独立运行 RCP 应用,通过运行配置中的 "Launch an Eclipse application" 来启动程序,从而测试应用的基本功能。 2.3. 应用程序 VS 产品 应用程序(Application)是开发...

    Eclipse RCP 应用系统开发方法与实战

    Eclipse Rich Client Platform (RCP) 是一个...通过深入学习"Eclipse RCP 应用系统开发方法与实战",开发者不仅可以掌握构建复杂桌面应用的技能,还能了解到如何利用Eclipse RCP的灵活性和强大功能来满足各种定制需求。

    Eclipse RCP工程包(内附抽取的场景重现)

    这个工程包“Eclipse RCP工程包(内附抽取的场景重现)”显然包含了用于演示或重现特定问题的示例代码,可能是针对Eclipse RCP开发者在开发过程中遇到的问题。虽然具体的描述链接已经失效,但我们可以根据Eclipse ...

    eclipse rcp 开发基础教程

    Eclipse RCP利用Eclipse IDE的强大功能,使得开发过程更加高效和便捷。 在Eclipse RCP开发中,你需要了解以下关键知识点: 1. **MVC模式**:Eclipse RCP遵循Model-View-Controller设计模式,这有助于分离业务逻辑...

    eclipse-rcp开发培训PPT

    1. **Perspective**:透视图是Eclipse RCP中的视图组织方式,可以根据不同的工作场景定制不同的视图布局。 2. **View**:视图是UI中的一个区域,展示特定的数据或功能,例如 Outline 视图、Console 视图等。 3. **...

    Eclipse的RCP开发的入门教程

    开发者会学习如何创建第一个RCP应用,包括定义插件项目、构建基本UI结构和启动配置。 其次,"使用Eclipse RCP进行桌面程序开发(一):快速起步.doc"文档将引导读者迅速进入实战阶段,讲解如何搭建开发环境,配置...

    Eclipse RCP 开发入门

    Eclipse RCP 提供了一种灵活的方式来构建应用程序,支持高度定制化,并且能够很好地与现有Eclipse插件生态系统集成。 #### 二、Eclipse RCP 特性 - **插件式架构**:Eclipse RCP 基于插件架构,这意味着开发者可以...

    eclipse-rcp-kepler-SR2-win32-x86_64.zip

    总的来说,Eclipse RCP是开发复杂、可扩展桌面应用的强大工具,尤其适合那些需要集成多种功能和定制化界面的项目。Kepler SR2的发布旨在提高开发者的生产力和用户体验,确保应用的稳定性和可靠性。通过深入理解和...

    Eclipse RCP应用系统开发方法与实战(第四章)

    接着,我们会学习如何创建一个新的Eclipse RCP项目,包括配置项目设置、导入所需的库和插件,以及编写基本的启动类。此外,还会涉及插件开发,包括编写Plugin.xml文件以声明插件依赖和贡献点,以及实现IApplication...

    Eclipse-RCP中文入门教程

    它利用Eclipse平台的强大功能来创建高度定制化的桌面应用程序。通过RCP,开发者能够创建出功能丰富且界面友好的应用程序。 #### 二、RCP应用概述 根据提供的文档描述,一个RCP应用本质上是一个可以在脱离Eclipse ...

    Eclipse RCP教程

    - **运行配置**:创建一个新的运行配置,选择“Run As”&gt;“Eclipse Application”来启动RCP应用。 - **调试应用**:使用Eclipse的调试工具检查和修改应用的行为。 ##### 4.3 规约 - **命名约定**:遵循Eclipse的...

Global site tag (gtag.js) - Google Analytics