由于Eclipse版本不符造成的异常

前几天把GEF版本从3.0.1升级到了3.1M6,发现以前运行正常的GEF程序现在总出现下面这个异常,例如在我移动一个节点时,或者创建一个新节点时。

! ENTRY org.eclipse.ui  4   0   2005 - 04 - 19   23 : 12 : 55.974
! MESSAGE tried to access method org.eclipse.ui.views.properties.PropertySheetEntry.refreshFromRoot()V from class org.eclipse.gef.ui.properties.UndoablePropertySheetEntry
! STACK  0
java.lang.IllegalAccessError: tried to access method org.eclipse.ui.views.properties.PropertySheetEntry.refreshFromRoot()V from class org.eclipse.gef.ui.properties.UndoablePropertySheetEntry
    at org.eclipse.gef.ui.properties.UndoablePropertySheetEntry.access$
0 (UndoablePropertySheetEntry.java: 1 )
    at org.eclipse.gef.ui.properties.UndoablePropertySheetEntry$
1 .commandStackChanged(UndoablePropertySheetEntry.java: 103 )
    at org.eclipse.gef.commands.CommandStack.notifyListeners(CommandStack.java:
253 )
    at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:
141 )
    at org.eclipse.gef.tools.AbstractTool.executeCommand(AbstractTool.java:
374 )
    at org.eclipse.gef.tools.AbstractTool.executeCurrentCommand(AbstractTool.java:
386 )
    at org.eclipse.gef.tools.DragEditPartsTracker.performDrag(DragEditPartsTracker.java:
450 )
    at org.eclipse.gef.tools.DragEditPartsTracker.handleButtonUp(DragEditPartsTracker.java:
320 )
    at org.eclipse.gef.tools.AbstractTool.mouseUp(AbstractTool.java:
1035 )
    at org.eclipse.gef.tools.SelectionTool.mouseUp(SelectionTool.java:
545 )
    at org.eclipse.gef.EditDomain.mouseUp(EditDomain.java:
259 )
    at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseReleased(DomainEventDispatcher.java:
374 )
    at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseUp(LightweightSystem.java:
548 )
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:
136 )
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:
82 )
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:
842 )
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:
2908 )
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
2541 )
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
1612 )
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:
1578 )
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:
293 )
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
144 )
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:
102 )
    at org.eclipse.core.internal.runtime.PlatformActivator$
1 .run(PlatformActivator.java: 228 )
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
333 )
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:
150 )
    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.core.launcher.Main.invokeFramework(Main.java:
268 )
    at org.eclipse.core.launcher.Main.basicRun(Main.java:
260 )
    at org.eclipse.core.launcher.Main.run(Main.java:
887 )
    at org.eclipse.core.launcher.Main.main(Main.java:
871 )

调试了很久也没找到原因,最后在GEF新闻组里得到了答案,原来GEF3.1M6要求Eclipse的版本在3.1M6或以上,而我正在使用的是Eclipse 3.1M5a,换到3.1M6一试果然OK。

如果你遇到类似的奇怪异常,不妨也先检查一下Eclipse和插件的版本。

你可能感兴趣的:(eclipse)