Java 在Eclipse中运行RCP项目时出错

Java 在Eclipse中运行RCP项目时出错,java,eclipse,eclipse-plugin,eclipse-rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,我继承了一个现有的RCP项目,我对这种类型的项目是完全陌生的 我正在为Java开发人员运行EclipseIDE(版本:Oxygen.3发行版(4.7.3)) 当我尝试将项目作为Eclipse应用程序运行时,出现以下错误: java.lang.NullPointerException at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.<init>(ModelServiceImpl.java:122) at

我继承了一个现有的RCP项目,我对这种类型的项目是完全陌生的

我正在为Java开发人员运行EclipseIDE(版本:Oxygen.3发行版(4.7.3))

当我尝试将项目作为Eclipse应用程序运行时,出现以下错误:

java.lang.NullPointerException
    at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.<init>(ModelServiceImpl.java:122)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:511)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
java.lang.NullPointerException
位于org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.(ModelServiceImpl.java:122)
位于org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:511)
位于org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
位于org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
位于org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
位于org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
位于org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
位于org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
在org.eclipse.equinox.internal.app.eclipseeapphandle.run上(eclipseeapphandle.java:196)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.runApplication(eclipseeappluncher.java:134)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.start(eclipseeappluncher.java:104)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:388)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:243)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
位于org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
位于org.eclipse.equinox.launcher.Main.run(Main.java:1499)
位于org.eclipse.equinox.launcher.Main.Main(Main.java:1472)

我已经看到了一些解决这个问题的方法,它们说
org.eclipse.equinox.ds
org.eclipse.equinox.event
必须包含在插件依赖项中,但这并没有解决我的问题。

为了解决这个问题,我做了以下工作:

  • 删除我的运行配置:运行>运行配置,然后选择配置,按大红色
    x
    按钮,关闭
  • 创建产品配置:文件>新建>其他,然后插件开发>产品配置,下一步,选择项目,提供产品配置文件名,完成
  • 应该自动打开产品配置文件(如果没有,打开它),然后选择内容选项卡,添加
    org.eclipse.equinox.event
    插件
  • 选择配置选项卡,将
    org.eclipse.equinox.event
    添加到启动级别,并将
    自动启动设置为
    true

  • 查看应用程序的运行配置(“运行>运行配置”),并确保这些插件包含在“插件”选项卡中。@greg-449谢谢,它们不包含在其中。然而,所有的东西似乎都是“灰色的”,我找不到一个方法来包含它们。有什么想法吗?