无法从 Eclipse Oxygen 工作区中删除项目
Unable to delete project from Eclipse Oxygen workspace
尝试从 Eclipse Oxygen 中删除项目时,没有任何反应,并且在日志中写入异常。
我只需在包资源管理器中右键单击一个项目,然后选择 'delete' 选项。我正在使用 Eclipse Oxygen.1a (4.7.1a)。这是完整的 build 信息:
Eclipse 平台
版本:Oxygen.1a (4.7.1a)
Build id: M20171009-0410
OS: Linux, v.4.13.0-19-generic, x86_64 / gtk 3.22.25
这是一个示例堆栈跟踪:
!ENTRY org.eclipse.ui 4 0 2017-12-20 12:40:25.379
!MESSAGE 未处理的事件循环异常
!堆栈 0
org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
在 org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65)
在 org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
在 org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
在 org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
在 org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
在 org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
在 org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(参数化Command.java:487)
在 org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
在 org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:442)
在 org.eclipse.ui.internal.ide.actions.LTKLauncher.运行Command(LTKLauncher.java:96)
在 org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:48)
在 org.eclipse.ui.actions.DeleteResourceAction.运行(DeleteResourceAction.java:449)
在 org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.运行(DeleteAction.java:194)
在 org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:271)
在 org.eclipse.jdt.ui.actions.SelectionDispatchAction.运行(SelectionDispatchAction.java:249)
在 org.eclipse.jface.action.Action.运行WithEvent(Action.java:473)
在 org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
在 org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
在 org.eclipse.swt.widgets.Display.sendEvent(Display.java:5268)
在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1348)
在 org.eclipse.swt.widgets.Display.运行DeferredEvents(Display.java:4522)
在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4107)
在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
在 org.eclipse.core.databinding.observable.Realm.运行WithDefault(Realm.java:336)
在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.运行(PartRenderingEngine.java:1039)
在 org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
在 org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
在 org.eclipse.core.databinding.observable.Realm.运行WithDefault(Realm.java:336)
在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
在 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
在 org.eclipse.equinox.internal.app.EclipseAppHandle.运行(EclipseAppHandle.java:196)
在 org.eclipse.core.运行time.internal.adaptor.EclipseAppLauncher.运行Application(EclipseAppLauncher.java:134)
在 org.eclipse.core.运行time.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
在 org.eclipse.core.运行time.adaptor.EclipseStarter.运行(EclipseStarter.java:388)
在 org.eclipse.core.运行time.adaptor.EclipseStarter.运行(EclipseStarter.java:243)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
在 org.eclipse.equinox.launcher.Main.运行(Main.java:1499)
在 org.eclipse.equinox.launcher.Main.main(Main.java:1472)
原因:java.lang.NullPointerException
在 org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.createControl(DeleteResourcesWizard.java:93)
在 org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.createContents(RefactoringWizardDialog2.java:627)
在 org.eclipse.jface.window.Window.create(Window.java:426)
在 org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:179)
在 org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.运行(RefactoringWizardOpenOperation.java:203)
在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.运行(RefactoringWizardOpenOperation.java:122)
在 org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:41)
在 org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)
在 org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 还有 44 个
任何ide如何解决这个问题?或者任何解决方法?
因为我怀疑问题与 GUI 有关,所以我尝试 运行 使用 GTK 2 而不是 GTK 3 的 eclipse。所以我将以下行添加到 eclipse.ini
:
--launcher.GTK_version
2
问题就解决了。我可以再次毫无问题地删除项目。
这是我的完整构建信息:
Eclipse Platform
Version: Oxygen.1a (4.7.1a)
Build id: M20171009-0410
OS: Linux, v.4.13.0-19-generic, x86_64 / gtk 2.24.31
这是一个已修复的错误(我猜将在 oxygen.3 中)。它与解析 "question" 图标有关。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=528984
尝试从 Eclipse Oxygen 中删除项目时,没有任何反应,并且在日志中写入异常。 我只需在包资源管理器中右键单击一个项目,然后选择 'delete' 选项。我正在使用 Eclipse Oxygen.1a (4.7.1a)。这是完整的 build 信息:
Eclipse 平台 版本:Oxygen.1a (4.7.1a) Build id: M20171009-0410 OS: Linux, v.4.13.0-19-generic, x86_64 / gtk 3.22.25
这是一个示例堆栈跟踪:
!ENTRY org.eclipse.ui 4 0 2017-12-20 12:40:25.379 !MESSAGE 未处理的事件循环异常 !堆栈 0 org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException 在 org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:65) 在 org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305) 在 org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239) 在 org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) 在 org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152) 在 org.eclipse.core.commands.Command.executeWithChecks(Command.java:494) 在 org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(参数化Command.java:487) 在 org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210) 在 org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:442) 在 org.eclipse.ui.internal.ide.actions.LTKLauncher.运行Command(LTKLauncher.java:96) 在 org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:48) 在 org.eclipse.ui.actions.DeleteResourceAction.运行(DeleteResourceAction.java:449) 在 org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.运行(DeleteAction.java:194) 在 org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:271) 在 org.eclipse.jdt.ui.actions.SelectionDispatchAction.运行(SelectionDispatchAction.java:249) 在 org.eclipse.jface.action.Action.运行WithEvent(Action.java:473) 在 org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565) 在 org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) 在 org.eclipse.swt.widgets.Display.sendEvent(Display.java:5268) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1348) 在 org.eclipse.swt.widgets.Display.运行DeferredEvents(Display.java:4522) 在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4107) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150) 在 org.eclipse.core.databinding.observable.Realm.运行WithDefault(Realm.java:336) 在 org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.运行(PartRenderingEngine.java:1039) 在 org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) 在 org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680) 在 org.eclipse.core.databinding.observable.Realm.运行WithDefault(Realm.java:336) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) 在 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.运行(EclipseAppHandle.java:196) 在 org.eclipse.core.运行time.internal.adaptor.EclipseAppLauncher.运行Application(EclipseAppLauncher.java:134) 在 org.eclipse.core.运行time.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 在 org.eclipse.core.运行time.adaptor.EclipseStarter.运行(EclipseStarter.java:388) 在 org.eclipse.core.运行time.adaptor.EclipseStarter.运行(EclipseStarter.java:243) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) 在 org.eclipse.equinox.launcher.Main.运行(Main.java:1499) 在 org.eclipse.equinox.launcher.Main.main(Main.java:1472) 原因:java.lang.NullPointerException 在 org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.createControl(DeleteResourcesWizard.java:93) 在 org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.createContents(RefactoringWizardDialog2.java:627) 在 org.eclipse.jface.window.Window.create(Window.java:426) 在 org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096) 在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:179) 在 org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.运行(RefactoringWizardOpenOperation.java:203) 在 org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.运行(RefactoringWizardOpenOperation.java:122) 在 org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:41) 在 org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291) 在 org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) ... 还有 44 个
任何ide如何解决这个问题?或者任何解决方法?
因为我怀疑问题与 GUI 有关,所以我尝试 运行 使用 GTK 2 而不是 GTK 3 的 eclipse。所以我将以下行添加到 eclipse.ini
:
--launcher.GTK_version 2
问题就解决了。我可以再次毫无问题地删除项目。
这是我的完整构建信息:
Eclipse Platform Version: Oxygen.1a (4.7.1a) Build id: M20171009-0410 OS: Linux, v.4.13.0-19-generic, x86_64 / gtk 2.24.31
这是一个已修复的错误(我猜将在 oxygen.3 中)。它与解析 "question" 图标有关。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=528984