2010-01-29 72 views
1

我用下面的代碼從字符串獲得IJavaProject類型:如何在Eclipse插件中打開Java項目?

IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); 
IJavaProject javaProject = JavaCore.create(project); 

在此之後,我用javaProject.open(monitor);,其中顯示器是IProgreeMonitor類型,打開項目......我不能打開filr有它有一些問題。顯示的例外是:

 
Java Model Exception: Java Model Status [com.ibm.plugin does not exist] 
at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:501) 
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:245) 
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514) 
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:251) 
at org.eclipse.jdt.internal.core.Openable.open(Openable.java:431) 
at packagesearch.HelloWorldAction.run(HelloWorldAction.java:49) 
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) 
at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229) 
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583) 
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500) 
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) 
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384) 
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348) 
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) 
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:386) 
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:37) 
at java.lang.reflect.Method.invoke(Method.java:599) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1236) 
at org.eclipse.equinox.launcher.Main.main(Main.java:1212) 

回答

3

如在my previous answer中提到的,您的項目不存在,這意味着您正試圖打開'null'。

因此例外。

+0

感謝您的回覆 – Steven 2010-01-30 09:53:11

0

我假定你的意思是IProgressMonitor

IProgressMonitor用於獲取並行運行任務進度的更新(即即將完成的任務),而不是打開資源。

我希望能解釋這個錯誤,但恐怕我不知道如何打開這個項目。