上周突然间,单个javascript文件将不再在比较编辑器中打开。
只有这一个文件......它是node.js项目的主文件。它曾经差别很好,上周突然间这一个文件将不再发散并抛出此异常。
当我查看日志时,我看到以下异常:
!ENTRY org.eclipse.ui 4 0 2016-04-14 12:38:08.535 !MESSAGE未处理的事件循环异常 !堆栈0 org.eclipse.swt.SWTException:无法执行runnable(java.lang.IllegalArgumentException) 在org.eclipse.swt.SWT.error(SWT.java:4491) 在org.eclipse.swt.SWT.error(SWT.java:4406) 在org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138) 在org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155) 在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 4.run(PartRenderingEngine.java:1127) 在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) 在org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) 在org.eclipse.ui.internal.Workbench $ 5.run(Workbench.java:694) 在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) 在org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) 在org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 在org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) 在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) 在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 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) 在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) 在org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) 在org.eclipse.equinox.launcher.Main.run(Main.java:1515)
引起:java.lang.IllegalArgumentException 在org.eclipse.wst.jsdt.core.dom.ASTNode.setSourceRange(ASTNode.java:2490) at org.eclipse.wst.jsdt.core.dom.ASTConverter.convertToVariableDeclarationStatement(ASTConverter.java:2696) 在org.eclipse.wst.jsdt.core.dom.ASTConverter.checkAndAddMultipleLocalDeclaration(ASTConverter.java:319) 在org.eclipse.wst.jsdt.core.dom.ASTConverter.convert(ASTConverter.java:436) 在org.eclipse.wst.jsdt.core.dom.ASTConverter.convert(ASTConverter.java:1175) 在org.eclipse.wst.jsdt.core.dom.JavaScriptUnitResolver.convert(JavaScriptUnitResolver.java:262) 在org.eclipse.wst.jsdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:887) 在org.eclipse.wst.jsdt.core.dom.ASTParser.createAST(ASTParser.java:647) 在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:284) 在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureCreator.createStructureComparator(JavaStructureCreator.java:243) 在org.eclipse.compare.structuremergeviewer.StructureCreator.internalCreateStructure(StructureCreator.java:121) at org.eclipse.compare.structuremergeviewer.StructureCreator.access $ 0(StructureCreator.java:109) 在org.eclipse.compare.structuremergeviewer.StructureCreator $ 1.run(StructureCreator.java:96) 在org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 在org.eclipse.compare.internal.Utilities.runInUIThread(Utilities.java:859) 在org.eclipse.compare.structuremergeviewer.StructureCreator.createStructure(StructureCreator.java:102) 在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.createStructure(StructureDiffViewer.java:155) 在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.refresh(StructureDiffViewer.java:133) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ StructureInfo.setInput(StructureDiffViewer.java:104) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:342) 在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ 2.run(StructureDiffViewer.java:74) 在org.eclipse.compare.structuremergeviewer.StructureDiffViewer $ 6.run(StructureDiffViewer.java:322) 在org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:319) at org.eclipse.compare.structuremergeviewer.StructureDiffViewer.compareInputChanged(StructureDiffViewer.java:307) 在org.eclipse.wst.jsdt.internal.ui.compare.JavaStructureDiffViewer.compareInputChanged(JavaStructureDiffViewer.java:143) 在org.eclipse.compare.structuremergeviewer.StructureDiffViewer.inputChanged(StructureDiffViewer.java:278) 在org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:292) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1701) 在org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:277) 在org.eclipse.compare.internal.CompareStructureViewerSwitchingPane.setInput(CompareStructureViewerSwitchingPane.java:132) 在org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:747) 在org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:555) 在org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:462) 在org.eclipse.compare.internal.CompareEditor.access $ 6(CompareEditor.java:422) 在org.eclipse.compare.internal.CompareEditor $ 3.run(CompareEditor.java:378) 在org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162) 在org.eclipse.ui.internal.UISynchronizer $ 3.run(UISynchronizer.java:154) 在org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 在org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) ......还有23个
答案 0 :(得分:14)
我没有解决方案,但我遇到了同样的问题并找到了解决方法。我关掉了#34;自动打开结构比较"在" General"中的eclipse偏好中 - > "比较/补丁&#34 ;.然后我就可以在比较编辑器中打开文件了。
答案 1 :(得分:1)
这看起来像Eclipse bug 390913已经开放了一段时间,但似乎没有取得任何进展。