2011-05-17 81 views
4

我無法從工作區中刪除項目。 Eclipse引發NPE,我有NFI如何解決這個問題。Eclipse - 無法從工作區中刪除項目。 NPE

 
java.lang.NullPointerException 
    at org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.createControl(DeleteResourcesWizard.java:89) 
    at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.createContents(RefactoringWizardDialog2.java:631) 
    at org.eclipse.jface.window.Window.create(Window.java:431) 
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:171) 
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:192) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:115) 
    at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:40) 
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293) 
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) 
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommandInContext(HandlerService.java:270) 
    at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:95) 
    at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:47) 
    at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:481) 
    at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:162) 
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274) 
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250) 
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) 
    at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) 
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) 
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 
    at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) 
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468) 
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786) 
    at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885) 
    at org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:76) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267) 
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294) 
    at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730) 
    at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2841) 
    at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734) 
    at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:1977) 
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4796) 
    at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3485) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4360) 
    at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) 
    at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8189) 
    at org.eclipse.swt.widgets.Display.eventProc(Display.java:1238) 
    at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) 
    at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2237) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3159) 
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) 
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) 
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) 
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1408) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1384) 

,這是我的環境: -

 
eclipse.buildId=M20110210-1200 
java.version=1.6.0_21 
java.vendor=Sun Microsystems Inc. 
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_AU 
Framework arguments: -product org.eclipse.epp.package.jee.product 
Command-line arguments: -os linux -ws gtk -arch x86 -product 
org.eclipse.epp.package.jee.product 
+0

如果你只是重試它,它會工作嗎?如果不是,如果關閉所有編輯器,它是否工作? – Kai 2011-05-17 07:02:33

回答

4

相關Eclipse的bug是345477。在那篇文章中,引用了一些ia32-libs錯誤。在錯誤的建議的解決方法就是Eclipse執行前執行以下操作:

export GDK_PIXBUF_MODULE_FILE=/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache 

我可以證實,這個工程,即使Ubuntu的單 - 點亮圖標集。我在Ubuntu 11.04 64位上使用Java 32位上的Eclipse 32位。

0

最近的錯誤(issue 302791)固定在3.6(我懷疑你有,有一個版本ID M20110210-1200)

你的錯誤似乎發生在這個過程的開始,因爲它不能創建`DeleteResourcesWizard。
這可能是因爲:

  • 一些奇怪的選擇(你嘗試選擇在Package Explorer中的項目在資源管理器?)
  • 一些被刪除的資源仍然由該項目引用。

如果您可以每次重現問題,這可能值得一個新的Eclipse錯誤報告。

1

我注意到在Ubuntu 11.04使用Eclipse 3.6 SR2同樣的問題。不過在使用相同版本的Eclipse的Ubuntu 10.04和Windows 7上,它工作正常。該NullPointerException即將從line 89DeleteResourcesWizard因爲imagenull

87 Image image= parent.getDisplay().getSystemImage(SWT.ICON_QUESTION); 
88 Label imageLabel = new Label(composite, SWT.NULL); 
89 imageLabel.setBackground(image.getBackground()); 

速戰速決我發現的Ubuntu 11.04是使用一個不同的主題(如Clearlooks)或圖標集(如GNOME)。默認主題不適用於我,是Ambiance,默認爲Ubuntu-Mono-Dark圖標集。我想它必須缺少SWT.ICON_QUESTION所需的圖標(或者它已被重命名),並且Eclipse不會優雅地處理找不到它。

0

謝謝,我已經改變了我的圖標設置爲GNOME和它的工作! Ubuntu 11.04是有史以來最糟糕的Ubuntu!這似乎像Ubuntu的目標是成爲像Windows ME和Vista ...