2012-07-27 60 views
8

我正在处理一个插件,它将当前工作区的位置URI传递给其他方法。如何获取Eclipse工作区位置URI

IWorkspace workspace = ResourcesPlugin.getWorkspace(); 

我对Eclipse PDE很新。什么方法返回工作区的URI位置。如果工作区是C:\ Eclipse \ Workspace,则为Ex。我需要的路径C:\ Eclipse的\工作区

回答

12

你想:

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString(); 
+0

感谢此工作 – VamsiKrishna 2012-07-28 07:52:49

1

得到任何资源的绝对文件系统路径:

IResource.getLocation() 
5

你确定你需要的工作空间网址?唯一可以依赖的是它将包含.metadata文件夹 - 其他所有可能位于的其他位置:

  1. 项目可以在工作区外部创建。
  2. 工作区文件/文件夹实际上可能是外部资源的链接(甚至可能不是本地文件)。

我的建议:

  1. 如果你想找到一些资源 - 使用的IResource :: getLocationURI并检查它是一个本地文件
  2. (你可以,如果URL是EFS下载内容)
  3. 如果你想访问你的插件数据(即在.metadata)使用Plugin.getStateLocation
  4. 如果你仍然认为你需要的工作空间根 - Platform.getInstanceLocation
+2

+1。正常的Ec​​lipse插件应该始终在不知道绝对文件系统位置的情况下工作。 – Bananeweizen 2012-07-27 19:49:04