2015-10-17 76 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