“Workspace is closed” exception when trying to get the workspace through ResourcesPlugin

雨燕双飞 提交于 2019-11-29 03:59:41

Does your Manifest.MF contain the org.eclipse.core.resources in the Require-bundle section ?

And do you launch your test as a plugin ? (not as a 'Java Application')

See also this thread.

As mentioned in the "Resources and the file system" help page,

You can access the workspace from the resources plug-in class (defined in org.eclipse.core.resources).

When the resources plug-in is not running, the workspace exists solely in the file system and is viewed or manipulated by the user via standard file-based tools. Let's look at what a workspace looks like on disk as we explain the resources plug-in API.


From this book:

The workspace directory, regardless of the name defined with the -data invocation option, has two roles:

  • it acts as the parent for the .metadata directory
  • and as the default location for projects

the workspace can contains projects only when:

  • the org.eclipse.core.resources plugin is included in the configuration and
  • and appropriately started from the workbench

this is automatic from an IDE configuration based on the org.eclipse.ui.ide.workbench application.

See also this thread and remember that:

the workspace is a different workspace from the runtime-workspace that's used for testing plugins. When you do Run on an Eclipse PDE environment, it creates a new workspace which is completely empty.

The testing workspace root can be specified through the "-data" launching option.

If you want to access a file, your best bet is to include it in the plugin itself, and then use getClass().getResourceAsStream("/myfile.txt") to get an InputStream that you can read the contents for.

Try calling Plugin.getStateLocation() in the plugin, it should cause the workspace to be created for you. Without this, you can't save any preferences either. http://dev.eclipse.org/newslists/news.eclipse.platform/msg45020.html

http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/Plugin.html#getStateLocation%28%29

Err, sorry -- I just completed necroed this question by accident :)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!