我们有一个导出到RCP产品的插件。在插件中,有一个包含一些文件的文件夹。如何以编程方式访问Eclipse中某个文件夹下的插件文件?
答案 0 :(得分:2)
使用org.eclipse.core.runtime.FileLocator
类访问插件中的文件。
Bundle bundle = ... bundle containing the files
IPath path = new Path("relative path in plug-in of the file");
URL url = FileLocator.find(bundle, path, null);
URL fileUrl = FileLocator.toFileURL(url);
url
方法返回的FileLocator.find
使用Eclipse特定方案,并且只能与某些Eclipse API一起使用。
FileLocator.toFileURL
调用将URL转换为普通file
网址,可能需要将插件jar解压缩到临时位置才能执行此操作。
您可以使用
获取Bundle
Bundle bundle = FrameworkUtil.getBundle(getClass());
获取包含当前类或
的包Bundle bundle = Platform.getBundle("plugin id");
通过插件ID访问包。