编程语言
首页 > 编程语言> > 在Eclipse插件中包含和访问二进制(非Java)文件

在Eclipse插件中包含和访问二进制(非Java)文件

作者:互联网

我想在我的Eclipse插件中包含一些与Java不相关的二进制文件,以便以后可以从插件的Java代码中访问它们.

1)
据我了解,我可以在构建配置的“构建/二进制构建”部分中添加一些文件和文件夹以包含在构建中:

不幸的是,构建插件后,文件夹“包含文件夹”和下面的所有文件都没有复制到“ bin”文件夹(或其他位置)中.我误会了那个对话吗?我一直认为“ bin”文件夹是构建项目/插件的“根”.在构建中包括二进制文件的正确方法是什么?

2)如果我设法将文件包含在内置插件中,如何确定它们的路径,以便可以在该插件的Java类之一中打开并使用它们?

解决方法:

您在构建中检查的所有内容都应包含在顶层的插件jar中(bin目录是专门处理的).

要在插件中查找对象,请使用:

URL url = FileLocator.find(bundle, new Path(path), null);

其中path是插件中的相对路径,而bundle是插件Bundle.您可以从传递给插件激活器的BundleContext中获取Bundle,也可以使用Platform.getBundle(“ plugin id”)

从此返回的URL将使用捆绑方案,将其转换为文件URL,请使用:

URL fileURL = FileLocator.toFileURL(url);

返回的文件URL可能位于一个临时位置.

更新:当您使用Eclipse(使用Run / Eclipse Application)运行插件时,没有构建jar,并且文件夹未复制到任何地方.您仍然使用FileLocator API来访问文件夹,并且路径相同.

标签:eclipse,eclipse-plugin,java
来源: https://codeday.me/bug/20191122/2057097.html