Jen*_*ith 11 eclipse workspace resources plugins
尝试通过ResourcesPlugin获取工作区时出现此错误:
java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:339)
生成它的代码是:
IWorkspace ws = ResourcesPlugin.getWorkspace();
你能帮忙解决这个问题吗?
Von*_*onC 15
你是否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你可以读取内容的文件.