尝试使用Vaadin Designer 7打开.html文件时发生NullPointerException

时间:2020-09-08 07:19:23

标签: eclipse eclipse-plugin vaadin

im将Eclipse 2018_09与Vaadin 8一起使用。我刚刚直接创建了一个干净的Vaadin项目“ myapplication”。当我创建Vaadin设计器文件“ testdesigne.html”并尝试打开它时,设计器崩溃了,该文件将关闭。它首先尝试加载视图,并在约5秒后崩溃。

当我打开Eclipse错误日志视图时,我会看到以下2个问题:

从插件调用“ org.eclipse.ui.workbench”代码时出现问题。


java.lang.NullPointerException在 com.vaadin.designer.eclipse.views.HierarchyOutlineView.dispose(HierarchyOutlineView.java:470) 在 com.vaadin.designer.eclipse.editors.VaadinEditorPart.dispose(VaadinEditorPart.java:422) 在 org.eclipse.ui.part.MultiPageEditorPart $ 4.run(MultiPageEditorPart.java:1014) 在org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)处 org.eclipse.ui.part.MultiPageEditorPart.disposePart(MultiPageEditorPart.java:1010) 在 org.eclipse.ui.part.MultiPageEditorPart.dispose(MultiPageEditorPart.java:507) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.dispose(VaadinEditor.java:328) 在 org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:264) 在 org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:424) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(来源未知) org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) 在 org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1001) 在 org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966) 在 org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:200) 在 org.eclipse.e4.core.internal.di.Requestor.uninject(Requestor.java:175) 在 org.eclipse.e4.core.internal.contexts.ContextObjectSupplier $ ContextInjectionListener.update(ContextObjectSupplier.java:87) 在 org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:114) 在 org.eclipse.e4.core.internal.contexts.EclipseContext.removeListenersTo(EclipseContext.java:492) 在 org.eclipse.e4.core.contexts.ContextInjectionFactory.uninject(ContextInjectionFactory.java:175) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:967) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access $ 1(PartRenderingEngine.java:886) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 4.run(PartRenderingEngine.java:881) 在org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)处 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:865) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.subscribeTopicToBeRendered(PartRenderingEngine.java:186) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)位于 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(来源未知) org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) 在 org.eclipse.e4.core.di.internal.extensions.EventObjectSupplier $ DIEventHandler.handleEvent(EventObjectSupplier.java:91) 在 org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:204) 在 org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:199) 在 org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1) 在 org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:233) 在 org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) 在 org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:138) 在 org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:81) 在 org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:42) 在 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.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:307) 在 org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1381) 在 org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1591) 在 org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1543) 在 org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1513) 在 org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1637) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.closeEditor(VaadinEditor.java:897) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.closeDesignInNewerProjectAndNotifyUser(VaadinEditor.java:876) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.validateDesignFileInteractive(VaadinEditor.java:816) 在 com.vaadin.designer.eclipse.editors.VaadinEditorPart $ 2 $ 1.run(VaadinEditorPart.java:185) 在org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)处 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) 在sun.reflect.GeneratedMethodAccessor74.invoke(未知源)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(来源未知) com.vaadin.designer.eclipse.editors.FakeComposite.flushAsyncQueue(FakeComposite.java:166) 在 com.vaadin.designer.eclipse.editors.FakeComposite.flushAsyncQueue(FakeComposite.java:140) 在 com.vaadin.designer.eclipse.editors.FakeComposite.setLayoutDeferred(FakeComposite.java:127) 在 org.eclipse.swt.widgets.Display.runDeferredLayouts(Display.java:3982) 在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3554) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 5.run(PartRenderingEngine.java:1173) 在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062) 在 org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 在org.eclipse.ui.internal.Workbench.lambda $ 3(Workbench.java:628)在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151) 在 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246) 在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:659)位于 org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)在 org.eclipse.equinox.launcher.Main.run(Main.java:1501)


未处理的事件循环异常

java.lang.NullPointerException在 org.eclipse.ui.internal.PartSite.getShell(PartSite.java:477)在 com.vaadin.designer.eclipse.editors.VaadinEditor.openDesigner2InstallWarning(VaadinEditor.java:886) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.closeDesignInNewerProjectAndNotifyUser(VaadinEditor.java:878) 在 com.vaadin.designer.eclipse.editors.VaadinEditor.validateDesignFileInteractive(VaadinEditor.java:816) 在 com.vaadin.designer.eclipse.editors.VaadinEditorPart $ 2 $ 1.run(VaadinEditorPart.java:185) 在org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)处 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) 在sun.reflect.GeneratedMethodAccessor74.invoke(未知源)处 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(来源未知) com.vaadin.designer.eclipse.editors.FakeComposite.flushAsyncQueue(FakeComposite.java:166) 在 com.vaadin.designer.eclipse.editors.FakeComposite.flushAsyncQueue(FakeComposite.java:140) 在 com.vaadin.designer.eclipse.editors.FakeComposite.setLayoutDeferred(FakeComposite.java:127) 在 org.eclipse.swt.widgets.Display.runDeferredLayouts(Display.java:3982) 在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3554) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 5.run(PartRenderingEngine.java:1173) 在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062) 在 org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 在org.eclipse.ui.internal.Workbench.lambda $ 3(Workbench.java:628)在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151) 在 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246) 在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:659)位于 org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)在 org.eclipse.equinox.launcher.Main.run(Main.java:1501)

有人知道如何解决吗?

1 个答案:

答案 0 :(得分:0)

将Vaadin Designer 2 用于Vaadin 8。