Eclipse rcp 如何将xText编辑器添加到Eclipse(e4)RCP应用程序?

Eclipse rcp 如何将xText编辑器添加到Eclipse(e4)RCP应用程序?,eclipse-rcp,rcp,xtext,e4,Eclipse Rcp,Rcp,Xtext,E4,我已经做了一个xtext编辑器(2.5)。 我尝试在我的RCP应用程序的一部分中使用此编辑器 我使用以下代码: Injector Injector=MyDslActivator.getInstance().getInjector(MyDslActivator.XTEXT\u DSL\u MYDSL); EmbeddedEditorFactory=injector.getInstance(EmbeddedEditorFactory.class); editor=factory.newEditor(

我已经做了一个xtext编辑器(2.5)。 我尝试在我的RCP应用程序的一部分中使用此编辑器

我使用以下代码:

Injector Injector=MyDslActivator.getInstance().getInjector(MyDslActivator.XTEXT\u DSL\u MYDSL);
EmbeddedEditorFactory=injector.getInstance(EmbeddedEditorFactory.class);
editor=factory.newEditor(resourceProvider).bathrorAndWarningAnnotations().withParent(容器);
但我犯了个错误

java.lang.LinkageError:加载程序约束冲突:加载程序(org/eclipse/osgi/internal/baseadapter/DefaultClassLoader的实例)先前启动了名为“com/google/inject/Injector”的不同类型的加载
UPD1

捆绑包“eclipse.m2e.maven.runtime”包含另一个版本的包“org.google.inject”。解决方案是将此捆绑包从项目中排除

但现在我有了新的错误

Caused by: java.lang.NullPointerException
at org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions.initialize(EmbeddedEditorActions.java:124)
at org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions.<init>(EmbeddedEditorActions.java:119)
at org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions$Factory.createActions(EmbeddedEditorActions.java:63)
at org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorFactory$Builder.initializeActions(EmbeddedEditorFactory.java:397)
at org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorFactory$Builder.withParent(EmbeddedEditorFactory.java:233)
原因:java.lang.NullPointerException
位于org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions.initialize(EmbeddedEditorActions.java:124)
位于org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions。(EmbeddedEditorActions.java:119)
位于org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorActions$Factory.createActions(EmbeddedEditorActions.java:63)
位于org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorFactory$Builder.initializeActions(EmbeddedEditorFactory.java:397)
位于org.eclipse.xtext.ui.editor.embedded.EmbeddedEditorFactory$Builder.withParent(EmbeddedEditorFactory.java:233)
这是因为google injector没有将IWorkbench注入EmbeddedEditorActions.Factory

我不知道如何修理它。
e4应用程序有org.eclipse.e4.ui.workbench.IWorkbench,bot没有org.eclipse.ui.IWorkbench。

您必须确保您的RCP只包含一次捆绑包
com.google.inject
。不知何故,它被加载到了两个不同的版本中,这两个版本都提供给了您的DSL插件。

您是对的。我不知道包“eclipse.m2e.maven.runtime”中有另一个版本的包“org.google.inject”。