Eclipse插件路径问题

以下是从网上找来的,如何获取相关路径的方法(没有全部试过,仅供参考): 
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();
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/daybreak1978/archive/2009/11/27/4888690.aspx
posted on 2011-10-26 17:25  缠中说禅  阅读(981)  评论(0编辑  收藏  举报