Eclipse插件问题:图标/图像在本地显示正常,但不是来自jar /更新站点.

KWJ*_*104 1 java eclipse eclipse-plugin image

我目前有一个带有视图的eclipse插件.在src foler中,有一个icons文件夹,其中包含我想在我的插件中使用的一些图像.在我的程序中,我使用如下行:

public static final Image anImage = new Image(null, "sample_image.gif");
Run Code Online (Sandbox Code Playgroud)

然后继续在某处使用该图像.当我在本地运行我的程序时,这工作,但当我将我的插件导出到jar,然后将其安装到新的Eclipse时,插件就会中断.当我在代码中取出图像使用时,插件在没有图像的情况下正常工作.我想知道正确的方法是为了让我的图像在导出的jar文件中可用于插件安装.

我有一个先前的问题和类似于这个的问题,有人建议使用Classloader.getResource().我没有太多的运气试图让它工作,似乎没有必要,因为默认情况下,如果您使用PDT生成的Eclipse视图插件演示模板,它附带一个图标文件夹,使用" sample.gif",据我所知,工作正常.

谢谢你的任何建议.

Sim*_*mon 9

通常,您应该使用图标文件夹方法.确保在build.properties文件中导出文件夹(在bin.includes部分下).如果您使用MANIFEST.MF编辑器并勾选"构建"选项卡的"二进制构建"部分中的图标文件夹.src文件夹的处理方式不同 - 它假定存在要编译的代码并包含编译的输出,而不是原始文件夹.它在工作空间中使用插件运行时"工作",因为使用工作空间目录而不是编译插件.您可以使用AbstractUIPlugin中的imageDescriptorFromPlugin加载图像.例如使用;

Image img = AbstractUIPlugin.imageDescriptorFromPlugin("you.bundle.id", "/icons/sample_image.gif").createImage();
Run Code Online (Sandbox Code Playgroud)