您是否Manifest.MF
包含org.eclipse.core.resources
该Require-bundle
部分?
您是否将测试作为插件启动?(不是作为“Java 应用程序”)
另请参阅此线程。
如“资源和文件系统”帮助页面中所述,
您可以从资源插件类(定义在 中org.eclipse.core.resources
)访问工作区。
当资源插件未运行时,工作空间仅存在于文件系统中,并由用户通过标准的基于文件的工具查看或操作。在我们解释资源插件 API 时,让我们看看工作空间在磁盘上的样子。
从这本书:
无论使用-data
调用选项定义的名称如何,工作区目录都有两个角色:
- 它充当
.metadata
目录的父级
- 并作为项目的默认位置
只有在以下情况下,工作区才能包含项目:
- 该
org.eclipse.core.resources
插件包含在配置中,并且
- 并适当地从工作台开始
这是基于org.eclipse.ui.ide.workbench
应用程序的 IDE 配置自动完成的。
另请参阅此线程并记住:
工作区是与用于测试插件的运行时工作区不同的工作区。当您在 Eclipse PDE 环境中运行时,它会创建一个完全为空的新工作区。
可以通过“-data”启动选项指定测试工作区根目录。
如果你想访问一个文件,最好的办法是将它包含在插件本身中,然后使用它getClass().getResourceAsStream("/myfile.txt")
来获取一个InputStream
你可以读取其内容的文件。