2015-10-17 60 views
2

我想编写一个Java应用程序,该应用程序显示工作区中所有项目的名称。但我的程序总是注意到如下。使用JDT分析工作区时出现“工作区已关闭”错误

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) 

这里是我的步骤来创建自己的应用程序:

  1. 安装Java发展论坛工具(JDT

  2. 创建一个满足所有下列选项空白Eclipse的插件:

    • Eclipse版本:3.5或更高
    • 执行环境:的JavaSE-1.8
    • 是富客户端应用? (选择NO
  3. 添加的.jar命名org.eclipse.core.resources_3.10.1.v20150725-1910.jar

  4. 创建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(); 
        } 
    } 
    
  5. 作为“Java应用程序”运行。

请帮帮我。提前致谢。

+0

这可能有助于http://stackoverflow.com/questions/2113865/jdt-without-eclipse/22211176#22211176 – Templar

回答

4

您无法使用纯Java应用程序中的任何Eclipse工作区API。

只有作为Eclipse或Eclipse RCP一部分运行的Eclipse插件才能访问该工作空间。这是因为在Eclipse启动期间进行了大量初始化以使工作空间可用。

+0

我已经投票支持你了@ greg-449。谢谢。 – ducanhnguyen

相关问题