如何获取Eclipse工作空间位置URI

9
我正在开发一个插件,该插件将当前工作区的位置URI传递给其他方法。
IWorkspace workspace = ResourcesPlugin.getWorkspace();

我对Eclipse PDE非常陌生。哪个方法返回工作区的URI位置。例如,如果工作区在C:\ Eclipse \ Workspace中,则需要路径C:\ Eclipse \ Workspace。

3个回答

14

你想要:

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

6
你确定需要工作区URL吗?唯一可靠的是它将包含.metadata文件夹 - 其他所有内容都可能位于其他位置:
1. 项目可以在工作区之外创建。 2. 工作区文件/文件夹实际上可能是指向外部资源的链接(甚至可能不是本地文件)。
我的建议:
1. 如果你想找到一些资源 - 使用IResource :: getLocationURI并检查它是否是本地文件(如果URL是EFS,则可以下载内容) 2. 如果要访问插件数据(在.metadata中),请使用Plugin.getStateLocation 3. 如果你仍然认为需要工作区根目录 - Platform.getInstanceLocation

2
+1. 正常的Eclipse插件应该在不需要了解绝对文件系统位置的情况下正常工作。 - Bananeweizen

1

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

IResource.getLocation() 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接