来自Eclipse应用程序的WorkSpace

时间:2015-05-19 05:23:10

标签: java eclipse abstract-syntax-tree eclipse-jdt

我正在创建一个独立的eclipse应用程序,我需要从应用程序中获取我的工作区。我不想要一个Eclipse插件,因为它不会解决我的目的。

IWorkSpaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

但是当工作区关闭时,这给了我一个例外。 我当前的工作空间或任何可以使用独立应用程序访问的新工作空间都可以解决我的目的。

2 个答案:

答案 0 :(得分:0)

Manifest.MF是否在插件的Require-bundle中包含org.eclipse.core.resources

您是否将应用程序作为插件启动? (不是作为Java应用程序')

  

您可以从资源插件类(在org.eclipse.core.resources中定义)访问工作区。

     

当资源插件未运行时,工作空间仅存在于文件系统中,并由用户通过基于标准文件的工具进行查看或操作。在我们解释资源插件API时,让我们看看磁盘上的工作区是什么样的。

有关详细信息,请参阅Book

  

作为Java应用程序,您不能使用ResourcesPlugin函数。因此,您需要通过经典文件资源访问资源。

答案 1 :(得分:0)

我对此问题使用以下脏方法。您需要手动更新RCP独立配置。

  1. 打开位于“配置”文件夹中的“ config.ini ”文件(位于项目位置下)。
  2. 编辑config.ini文件中的最后一行: osgi.instance.area.default=<Workspace Loc>
  3. 将行中的位置替换为工作区的位置 例如:osgi.instance.area.default=D:/WorkspaceFolder/WorkspaceNew
  4. 重要提示:指定工作区时,应使用正斜杠(/)作为分隔符。