Eclipse rcp JDK-11端口-在Eclipse 2019-12 RCP应用程序中打开消息视图时发现异常

Eclipse rcp JDK-11端口-在Eclipse 2019-12 RCP应用程序中打开消息视图时发现异常,eclipse-rcp,Eclipse Rcp,我有一个基于RCP的工具,它在EclipseMessageView中显示消息。到EclipseOxygen(JDK-8)为止,它工作正常,但当我需要将此工具移植到JDK11时,我不得不使用最新的Eclipse2019-12(用于JDK-11支持),我发现了一个问题,如下所示 在基于Eclipse 2019-12 RCP的应用程序中打开消息视图(IDE.openEditor(…)时 得到一个例外 代码段: 。。。 最终可运行openeditorhread=新可运行(){ 最终字符串msgViewI

我有一个基于RCP的工具,它在EclipseMessageView中显示消息。到EclipseOxygen(JDK-8)为止,它工作正常,但当我需要将此工具移植到JDK11时,我不得不使用最新的Eclipse2019-12(用于JDK-11支持),我发现了一个问题,如下所示

在基于Eclipse 2019-12 RCP的应用程序中打开消息视图(IDE.openEditor(…)时 得到一个例外

代码段:

。。。
最终可运行openeditorhread=新可运行(){
最终字符串msgViewId=新字符串(messageViewID);
@凌驾
公开作废运行(){
试一试{
最终IWorkbenchPage=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
如果(第页!=null){
IDE.openEditor(第页,新TraceMessageEdit输入(msgViewId),
TraceMessageEditorInput.editorID,true);
}
}
捕获(最终部分例外){
logger.error(“PartInit异常:+e.getMessage());
}
}
};
...
例外情况:

org.eclipse.e4.core.di.InjectionException:java.lang.IllegalArgumentException:参数无效
位于org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
位于org.eclipse.e4.ui.internal.di.UIEventObjectSupplier$UIEventHandler.lambda$0(UIEventObjectSupplier.java:64)
位于org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
位于org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
位于org.eclipse.swt.widgets.Display.syncExec(Display.java:4629)
位于org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219)
位于org.eclipse.e4.ui.internal.di.UIEventObjectSupplier$UIEventHandler.handleEvent(UIEventObjectSupplier.java:64)
位于org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
位于org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
位于org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
位于org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
位于org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
位于org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:132)
位于org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
位于org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
位于org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
位于org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
位于org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
位于org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl.setIconURI(PartImpl.java:546)
位于org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:107)
位于org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:361)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:566)
位于org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
位于org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1002)
位于org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:967)
位于org.eclipse.e4.core.internal.di.InjectorImpl.internalInjection(InjectorImpl.java:139)
位于org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408)
位于org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331)
位于org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
位于org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
位于org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
位于org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
位于org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
位于org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:107)
位于org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
位于org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
位于org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
位于org.eclipse.swt.widgets.Display.syncExec(Display.java:4629)
在org.ec