我想在Eclipse插件的根目录中包含一个文件(文本,图像等)。 当我使用test main方法运行程序时,我可以在工作目录中找到该文件。 但是当我将插件作为Eclipse应用程序运行时,工作目录包含不同的文件,具体取决于操作系统,我找不到文本文件。 我尝试将文件添加到xml(build.properties)的构建选项卡中的二进制构建中。它不起作用。
如何找到文本文件的路径?如何确保使用插件导出文本文件?
由于
答案 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中复制到临时位置,在那里可以作为普通文件进行访问。