在Eclipse RCP包工作目录中包含一个文件

时间:2014-08-19 23:23:14

标签: eclipse path bundle rcp

我想在Eclipse插件的根目录中包含一个文件(文本,图像等)。 当我使用test main方法运行程序时,我可以在工作目录中找到该文件。 但是当我将插件作为Eclipse应用程序运行时,工作目录包含不同的文件,具体取决于操作系统,我找不到文本文件。 我尝试将文件添加到xml(build.properties)的构建选项卡中的二进制构建中。它不起作用。

如何找到文本文件的路径?如何确保使用插件导出文本文件?

由于

1 个答案:

答案 0 :(得分:4)

当您构建Eclipse插件时,插件中的所有内容都会被放入>插件中的jar文件中。目录。只要您的文件列在' build.properties' (构建选项卡)它将包含在jar中。

要访问jar中的文件,请使用:

Bundle bundle = Platform.getBundle("your plugin id");

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

返回的URL适合传递给各种Eclipse API,但不能与普通的Java API一起使用,例如File。要将其转换为文件URL,请使用:

URL fileURL = FileLocator.toFileURL(url);

这会将文件从jar中复制到临时位置,在那里可以作为普通文件进行访问。