我有一个java插件。在这个插件中,我有一个包org.eclipse.epsilon.eol
,在这个包中我有一个图像configuration.png
。在这个包的一个类中,我想使用下面的代码行。如何设置它的相对地址?
我尝试了configuration.png
,eol/configuration.png
和./eol/configuration.png
等几项内容,但它们并未生效。我还在插件中创建了一个文件夹icon
并写入icon/configuration.png
但它没有生效。我该怎么办?
setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(null, "configuration.png"));
答案 0 :(得分:1)
您不能使用相对路径来访问插件中的资源(甚至不是当前的插件)。当插件打包为jar时,内容无法直接作为文件访问。
要访问插件中的资源,您必须使用FileLocator
API:
Bundle bundle = Platform.getBundle("plugin id");
URL url = FileLocator.find(bundle, new Path("path in the plugin"), null);
ImageDescriptor desc = ImageDescriptor.createFromURL(url);