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.