如何获取Eclipse Workspace Location URI

时间:2012-07-27 17:23:22

标签: eclipse eclipse-plugin

我正在开发一个插件,它将当前工作空间的位置URI传递给其他方法。

IWorkspace workspace = ResourcesPlugin.getWorkspace();

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

3 个答案:

答案 0 :(得分:13)

你想:

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

答案 1 :(得分:6)

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

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

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

答案 2 :(得分:1)

获取任何资源的绝对文件系统路径:

IResource.getLocation()