以下是从网上找来的,如何获取相关路径的方法(没有全部试过,仅供参考):
1. 得到某 PLUGIN 的路径 :
Platform.getBundle("mypluginid").getLocation().
eclipse 采用 osgi 后好像还可以 :
Activator.getDefault().getBundle().getLocation().( 前提是这个插件有 Activator 这个类 . 这个类继承了 ECLIPSE 的 Plugin 类 )
eclipse 采用 osgi 前好像好像是 :
MyPlugin.getDefault().getBundle().getLocation().( 前提是这个插件有 MyPlugin 这个类 . 这个类继承了 ECLIPSE 的 Plugin 类 )
2. 得到工作区路径 :Platform.getlocation(); 或
ResourcesPlugin.getWorkspace(); 好像
Platform.getInstanceLocation() 也可行
3. 得到 ECLIPSE 安装路径
Platform.getInstallLocation();
4. 从插件中获得绝对路径:
AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath()
通过文件得到 Project :
IProjectproject=((IFile)o).getProject();
通过文件得到全路径:
Stringpath=((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath();
得到整个 Workspace 的根:
IWorkspaceRootroot=ResourcesPlugin.getWorkspace().getRoot();
从根来查找资源:
IResourceresource=root.findMember(newPath(containerName));
从 Bundle 来查找资源:
Bundlebundle=Platform.getBundle(pluginId);
URLfullPathString=BundleUtility.find(bundle,filePath);
得到 Appliactionworkspace :
Platform.asLocalURL(PRODUCT_BUNDLE.getEntry("")).getPath()).getAbsolutePath();
得到 runtimeworkspace :
Platform.getInstanceLocation().getURL().getPath();
从编辑器来获得编辑文件
IEditorParteditor=((DefaultEditDomain)(parent.getViewer().getEditDomain())).getEditorPart();
IEditorInputinput=editor.getEditorInput();
if(inputinstanceofIFileEditorInput){
IFilefile=((IFileEditorInput)input).getFile();
}
获取插件的绝对路径:
FileLocator.resolve(BuildUIPlugin.getDefault().getBundle().getEntry("/")).getFile();