我想在 Eclipse 插件的根目录中包含一个文件(文本、图像等)。 当我使用测试主方法运行程序时,我可以在工作目录中找到该文件。 但是当我将插件作为 Eclipse 应用程序运行时,工作目录包含不同的文件,具体取决于操作系统,并且我找不到文本文件。 我尝试将文件添加到 xml (build.properties) 的构建选项卡中的二进制构建中。它仍然不起作用。
如何找到文本文件的路径?如何确保文本文件是通过插件导出的?
谢谢
最佳答案
当您构建 Eclipse 插件时,插件中的所有内容都会放入“plugins”目录中的 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 复制到一个临时位置,可以将其作为普通文件进行访问。
您还可以使用以下方式获取 bundle
:
Bundle bundle = FrameworkUtil.getBundle(getClass());
这避免了必须包含插件 ID。
关于eclipse - 在 Eclipse RCP 包工作目录中包含一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25394534/