解决eclipse rcp 不能切换工作空间/switch workspace fail的问题。
今天,准备发布产品IDE的时候,发现一个棘手的问题。rcp程序居然不能切换工作空间。切换工作空间使用的commandid没有错,使用:org.eclipse.ui.file.openWorkspace。
最终在eclipse 官方论坛找到答案。解决方法如下:
public class Application implements IApplication
{
private static final String PROP_EXIT_CODE = "eclipse.exitcode"; //$NON-NLS-1$
/*
* (non-Javadoc)
* @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.
* IApplicationContext)
*/
public Object start(IApplicationContext context)
{
Display display = PlatformUI.createDisplay();
try
{
// 注释的代码是在新建eclipse插件工程的时候生成。
// int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
// if (returnCode == PlatformUI.RETURN_RESTART) {
// return IApplication.EXIT_RESTART;
// }
// return IApplication.EXIT_OK;
// 上面的代码改为:
int returnCode = PlatformUI.createAndRunWorkbench(display,
new ApplicationWorkbenchAdvisor());
if (returnCode != PlatformUI.RETURN_RESTART)
return EXIT_OK;
return EXIT_RELAUNCH.equals(Integer.getInteger(PROP_EXIT_CODE)) ? EXIT_RELAUNCH
: EXIT_RESTART;
} finally
{
display.dispose();
}
}
/*
* (non-Javadoc)
* @see org.eclipse.equinox.app.IApplication#stop()
*/
public void stop()
{
...
...
}
}
PS: 切换工作空间只能在导出产品的时候使用。在eclipse下运行,是不能切换工作空间的。
分享到:
相关推荐
- **WorkSpace(工作空间)**: 存储项目数据和设置的地方,不可被共享。 - **Perspective(透视图)**: 定义了页面布局,通常用于特定的任务或开发阶段。 #### 四、基础知识预备 在深入学习Eclipse RCP之前,建议...
工作区(WorkSpace)在Eclipse启动时需要被指定,并且不能被多个Eclipse实例共享。然而,一个工作区可以被多个工作台窗口(WorkbenchWindow)共享。工作台(Workbench)是Eclipse UI的最高管理者,负责协调和组织...
通过阅读《Eclipse RCP深入浅出》并结合提供的代码样例,开发者不仅可以学习到Eclipse RCP的基本概念,还能学会如何创建和调试实际的RCP应用程序。这是一本非常实用的参考资料,对于希望在Java桌面应用领域工作的...
Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序。它提供了一整套工具和功能,使得开发者可以构建出具有丰富用户界面的应用。在开发完成后,我们需要将这些应用打包并发布,以便用户...
6. **国际化和本地化**:Eclipse RCP支持多语言环境,开发者需要了解如何实现应用程序的国际化和本地化,包括资源文件的处理和语言切换机制。 7. **源代码实践**:压缩包中的源代码提供了实际的开发示例,通过分析...
3. Workbench:Eclipse RCP 的工作台,提供了应用程序的用户界面和交互机制。 4. View:Eclipse RCP 的视图机制,提供了多种视图类型和视图之间的交互机制。 五、Eclipse RCP 的视图机制 Eclipse RCP 的视图机制是...
【标题】"eclipse RCP mp3工程"指的是一个基于Eclipse Rich Client Platform(RCP)构建的专门处理MP3音频文件的应用程序。Eclipse RCP是一个强大的开发框架,允许开发者创建桌面应用,它提供了丰富的用户界面组件和...
Eclipse Rich Client Platform(RCP)是Eclipse框架下的一个核心组成部分,用于构建桌面应用程序。这个"Eclipse RCP培训.zip"文件很可能包含了关于如何开发基于Eclipse RCP的应用程序的各种教程、示例代码和讲解材料...
6. **透视图和工作台**:透视图(Perspective)定义了工作空间的布局,工作台(Workbench)则是整个应用的核心。书中会讲述如何自定义透视图和管理工作台。 7. **国际化和本地化**:Eclipse RCP支持多语言,书中会...
通过对“Eclipse RCP 例子程序”的深入学习和实践,开发者不仅可以掌握Eclipse RCP的基本使用,还能了解到如何构建复杂、可扩展的桌面应用程序。而"Hyperbola"可能是指一个具体的示例项目或者一个用于演示特定功能的...
eclipse RCP Plug-in开发自学教程 eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法...
Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序,它基于Java语言并利用了Eclipse IDE的核心技术。Eclipse RCP允许开发者创建功能丰富的、可扩展的应用程序,这些应用程序拥有与Eclipse...
通过使用Eclipse RCP,开发者可以创建高度可定制和扩展的应用程序,这些应用不仅具有强大的功能,而且还能与其他Eclipse插件无缝集成。 ##### Eclipse Workbench Eclipse Workbench 是 Eclipse RCP 的核心组成部分...
1. **Eclipse RCP基础**:首先,文章可能会介绍Eclipse RCP的基本概念,包括它的设计理念、架构和主要组件,如工作台(Workbench)、视图(Views)、编辑器(Editors)和透视图(Perspectives)。 2. **插件系统**...
12章)系统讲解了Eclipse RCP应用开发的基础知识、Eclipse RCP软件产品各个组成部分的构建方法,以及Eclipse RCP扩展的使用和扩展点的开发,掌握这些技术知识的读者将能构建一个结构完整的Eclipse RCP软件,并解决...
源码分析是学习过程中不可或缺的一部分,通过查看和理解FileExplorer的源码,新手可以深入理解Eclipse RCP的事件模型、服务注册和查找机制、以及如何利用模型-视图-控制器(MVC)设计模式来组织代码。 最后,...
### Eclipse RCP 详细教程 #### 1. 富客户端平台 ##### 1.1. 概述 Eclipse RCP(Rich Client Platform)是一种基于Java的框架,它允许开发者构建高度可定制和可扩展的桌面应用。这些应用通常具有丰富的用户界面,...
Eclipse RCP(Rich Client Platform)是一个开源框架,用于构建桌面应用程序。Common Navigator是Eclipse RCP中的一个重要组件,它提供了一种通用的资源浏览和管理界面。在本"Common Navigator demo"中,我们将深入...
4. **透视图(Perspective)**:透视图是一种组织工作空间的方式,允许用户根据任务或功能需求切换不同的视图布局。例如,开发透视图可以显示源代码编辑器,而调试透视图则会突出显示调试工具。 5. **视图(View)*...