我想编写一个 Java 应用程序来显示工作区中的所有项目名称。但我的程序总是提示如下。
Exception in thread "main" java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:411)
at myPackage.ProjectVisitor.<init>(ProjectVisitor.java:9)
at myPackage.ProjectVisitor.main(ProjectVisitor.java:16)
以下是我创建自己的应用程序的步骤:
安装 Java 开发工具 (JDT)
创建一个满足以下所有选项的空白 eclipse 插件:
- Eclipse 版本:3.5 或更高版本
- 执行环境:JavaSE-1.8
- 是富客户端应用程序吗? (选择否)
添加名为org.eclipse.core.resources_3.10.1.v20150725-1910.jar
的.jar创建ProjectVisitor.java,如下所示。
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ResourcesPlugin; public class ProjectVisitor { public ProjectVisitor() { IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { // do something to display its name } } public static void main(String[] args) { ProjectVisitor m = new ProjectVisitor(); } }
作为“Java 应用程序”运行。
请帮助我。提前致谢。
最佳答案
您无法从普通 Java 应用程序使用任何 Eclipse 工作区 API。
只有作为 Eclipse 或 Eclipse RCP 一部分运行的 Eclipse 插件才能访问工作区。这是因为在 Eclipse 启动期间进行了大量的初始化以使工作区可用。
关于java - 使用 JDT 解析工作区时出现错误 "Workspace is closed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33183901/