2012-12-21 145 views
0

我已经在hello世界模板的eclipse中创建了插件项目,修改了sysout。现在我正在尝试将该项目作为OSGI框架运行。但我得到以下错误:eclipse:运行OSGI插件作为OSGI框架

Root exception: 
java.lang.IllegalStateException: Workbench has not been created yet. 
    at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92) 

任何想法可能是什么原因?目前我正在使用Eclipse Juno 32位版本。

+0

您是如何运行项目的? – cowls

+0

作为“启动Eclipse应用程序”运行插件还是您定义了自己的产品? – Timo

+0

右击捆绑项目 - >运行 - > OSGI框架。它具有Equinox作为默认容器。请注意,我正在使用Eclipse Juno – Chetan

回答

0

问题是,在其他代码尝试创建或访问工作台资源之前,这行代码未被调用。不知道你修改了什么,但是这行必须首先在你的Application类中执行。也许在这一行添加一个断点:然后是非法状态的断点,并查看debeugger第一次停止的位置。如果发生异常,那么在调用createAndRunWorkbench之后需要执行代码。在此行之前尝试在Application类中创建诸如jface向导之类的东西之前,我已经看到了此错误。

PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());