Eclipse &引用;“工作区已关闭”;尝试通过ResourcesPlugin获取工作区时出现异常
我在尝试通过ResourcesPlugin获取工作区时遇到此错误:Eclipse &引用;“工作区已关闭”;尝试通过ResourcesPlugin获取工作区时出现异常,eclipse,plugins,resources,workspace,Eclipse,Plugins,Resources,Workspace,我在尝试通过ResourcesPlugin获取工作区时遇到此错误: java.lang.IllegalStateException: Workspace is closed. at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:339) 生成此命令的代码是: IWorkspace ws = ResourcesPlugin.getWorkspace(); 您能帮我解决这个问题吗?您的Ma
java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:339)
生成此命令的代码是:
IWorkspace ws = ResourcesPlugin.getWorkspace();
您能帮我解决这个问题吗?您的
Manifest.MF
是否包含org.eclipse.core.resources
中的Require bundle
部分
您是否以插件的形式启动测试?(不是作为“Java应用程序”)
另见
如“帮助”页面中所述
您可以从resources插件类(在org.eclipse.core.resources
中定义)访问工作区
当资源插件未运行时,工作区仅存在于文件系统中,由用户通过基于文件的标准工具查看或操作。在解释资源插件API时,让我们看看磁盘上的工作区是什么样子
发件人: 无论使用
-data
调用选项定义的名称如何,工作区目录都有两个角色:
- 它充当
目录的父目录.metadata
- 和作为项目的默认位置
插件包含在配置和org.eclipse.core.resources
- 并适当地从工作台开始
org.eclipse.ui.IDE.workbench
应用程序的IDE配置自动完成的
另请参见并记住:
该工作区与用于测试插件的运行时工作区不同。当您在EclipsePDE环境上运行时,它会创建一个完全为空的新工作区
测试启动选项
如果要访问文件,最好将其包含在插件本身中,然后使用getClass().getResourceAsStream(“/myfile.txt”)
获取一个InputStream
,您可以读取其内容
尝试在插件中调用
Plugin.getStateLocation()
,它将为您创建工作区。如果没有此选项,您也无法保存任何首选项
呃,对不起——我刚才无意中完成了这个问题:)Manifest.MF文件包含org.eclipse.core.resources,位于Require bundle部分。但我不想将应用程序作为插件运行。我不是在尝试创建插件。只是为了在eclipse中使用AST解析器。我可以解决这个问题,并且仍然将java程序作为应用程序运行吗?作为java应用程序,您不能使用ResourcesPlugin函数。所以你需要通过更经典的文件资源来访问资源。另外,我忘了说我自己找到了第一个网页,并做了那里建议的任何事情。但还是没用。如果我使用org.eclipse.core.resources中的ResourcesPlugin类,那么在getWorkspace()方法中,工作区为null。这就是抛出异常的原因。为什么会这样?工作空间设置在哪里?Jut用工作空间特性的更多细节完成了我的回答。