无法从eclipse插件项目捆绑中获取图像文件URL

时间:2018-11-28 05:30:24

标签: java eclipse plugins eclipse-plugin eclipse-rcp

我正在尝试从eclipse插件项目中的捆绑包中获取图像。但是它总是返回null。请在下面找到项目结构。我想获取“ images / EmailTemplatesOutput / assets / icon_4.png”下的图像“ icon_4.png”的URL。我尝试了不同的方法。但它返回null。

项目结构为: enter image description here

            String path = "icon_4.png";
            Bundle bundle = Platform.getBundle("BulkDemo");
            URL url = FileLocator.find(bundle, new org.eclipse.core.runtime.Path(path), null);
            ImageDescriptor imageDesc = ImageDescriptor.createFromURL(url);
            Image image = imageDesc.createImage();

1 个答案:

答案 0 :(得分:0)

不要将“ images”目录放在“ src”文件夹中,而是将其放在项目的顶层(例如“ bin”和“ META-INF”)。确保您更新了“ build.properties”以将images文件夹包括在构建中。

图像的路径是相对于插件根目录的,因此它将是class YourModel(models.Model): ... def clean(self): try: for email in self.billing_emails: if not email_re.match(email): raise ValidationError('Invalid email {}'.format(email) except (TypeError, Exception) as e: # log error # handle error def save(self, *args, **kwargs): self.full_clean() return super(YourModel, self).save(*args, **kwargs) (假设您移动了图像目录)。

images/EmailTemplatesOutput/assests/icon_4.png返回的URL使用仅Eclipse方案,因此只能由Eclipse API使用。您可以通过添加以下内容将URL转换为普通文件URL:

FileLocator.find

这可能会导致Eclipse将插件解压缩到一个临时位置以访问文件。