如何从另一个插件获取资源?

伊利亚·布齐克(Ilya Buziuk)

我有2个plguinsA的MANIFEST.MF中,Require-Bundle部分中确实有插件B。但是,当我试图让B的从资源一个

ClassFromA.class.getClassLoader().getResource('resource_from_B') 

我越来越空了如果我将B的资源(文件夹)放在A的根目录,则所有内容都像一个魅力。我想念什么吗?

注意:我阅读了Lars Vogel的文章

Bundle bundle = Platform.getBundle("de.vogella.example.readfile");
URL fileURL = bundle.getEntry("files/test.txt");
File file = null;
try {
    file = new File(FileLocator.resolve(fileURL).toURI());
} catch (URISyntaxException e1) {
    e1.printStackTrace();
} catch (IOException e1) {
    e1.printStackTrace();
}

^当我从eclipse运行插件时,此解决方案有效,但是当我将其打包到jar并尝试从本地更新站点安装时,

java.lang.IllegalArgumentException: URI is not hierarchical  

PS我也已经阅读了StackOverflow上的几个相关问题,但找不到答案:

解决方案:非常感谢@ greg-449。因此正确的代码是:

Bundle bundle = Platform.getBundle("resource_from_some_plugin");
URL fileURL = bundle.getEntry("files/test.txt");
File file = null;
try {
   URL resolvedFileURL = FileLocator.toFileURL(fileURL);

   // We need to use the 3-arg constructor of URI in order to properly escape file system chars
   URI resolvedURI = new URI(resolvedFileURL.getProtocol(), resolvedFileURL.getPath(), null);
   File file = new File(resolvedURI);
} catch (URISyntaxException e1) {
    e1.printStackTrace();
} catch (IOException e1) {
    e1.printStackTrace();
} 

注意:使用URI的3-arg构造函数以正确转义文件系统字符很重要

greg-449

利用

FileLocator.toFileURL(fileURL)

而不是FileLocator.resolve(fileURL)将URL与一起使用时File

将插件打包到jar中后,这将导致Eclipse在临时位置创建一个未打包的版本,以便可以使用来访问该对象File

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从另一个模块获取测试资源

来自分类Dev

XText如何从另一个插件获取EObjects?

来自分类Dev

从另一个包中获取资源

来自分类Dev

从另一个插件获取RCP中的TreeViewer

来自分类Dev

如何从另一个模块应用插件

来自分类Dev

如何编写一个依赖于另一个插件的任务的插件?

来自分类Dev

如何在另一个jQuery插件中启动一个jQuery插件

来自分类Dev

Google Cloud Endpoints-在资源获取器中返回另一个资源

来自分类Dev

如何从另一个vbscript(另一个.vbs文件)获取变量

来自分类Dev

获取所有具有关系的资源时如何显示来自另一个微服务的关系

来自分类Dev

Errbot:如何从另一个导入一个插件

来自分类Dev

如何使用另一个资源图标更改imageview中的资源图标

来自分类Dev

如何从另一个自定义插件应用 Kotlin jvm 插件?

来自分类Dev

如何从另一个表获取引用值?

来自分类Dev

如何获取另一个进程MessageBox的消息?

来自分类Dev

如何从另一个活动中获取价值?

来自分类Dev

如何从另一个文件获取json模式?

来自分类Dev

如何获取另一个线程的ThreadStatic值?

来自分类Dev

如何从另一个表获取ID号?

来自分类Dev

如何从另一个类获取数组

来自分类Dev

我如何从另一个文件获取链接?

来自分类Dev

如何访问并获取另一个类的属性?

来自分类Dev

如何获取另一个表字段信息

来自分类Dev

如何从另一个表单获取tableLayoutPanel的行数?

来自分类Dev

如何从另一个类获取按钮的文本

来自分类Dev

如何从另一个类获取数组

来自分类Dev

我如何从另一个文件获取链接?

来自分类Dev

如何从另一个类获取变量的值

来自分类Dev

如何从另一个函数获取变量?

Related 相关文章

热门标签

归档