Java-设置ImageDescriptor的相对地址

时间:2017-11-13 10:35:36

标签: java eclipse

我有一个java插件。在这个插件中,我有一个包org.eclipse.epsilon.eol,在这个包中我有一个图像configuration.png。在这个包的一个类中,我想使用下面的代码行。如何设置它的相对地址?

我尝试了configuration.pngeol/configuration.png./eol/configuration.png等几项内容,但它们并未生效。我还在插件中创建了一个文件夹icon并写入icon/configuration.png但它没有生效。我该怎么办?

setDefaultPageImageDescriptor(ImageDescriptor.createFromFile(null, "configuration.png"));

1 个答案:

答案 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);