如何在已部署的 Eclipse 插件中引用资源(在工作代码中的 src/resources 中)?

问题描述 投票:0回答:1

我对开发 Eclipse 插件相对较新,并且在

src/resources
中有几个文件,我试图在我当前正在制作的插件中引用它们。不过,我似乎无法弄清楚。

我尝试了以下方法来检索资源:

MyClass.class.getResourceAsStream("/file_name")
MyClass.class.getResourceAsStream("/resources/file_name")
MyClass.class.getResourceAsStream("resources/file_name")
Bundle bundle = ResourcesPlugin.getPlugin.getBundle();
URL url = FileLocator.find(bundle, new Path("/resources/file_name") )
InputStream is = url.openStream();
...
Bundle bundle = ResourcesPlugin.getPlugin.getBundle();
URL url = FileLocator.find(bundle, new Path("resources/file_name") )
InputStream is = url.openStream();
...

没有一个有效,而且我想不出一种快速方法来确定抛出什么异常和/或从哪里抛出异常。

我不确定它是否有任何相关性,但工具栏中插件图标的路径是

/resources/<icon>
。不过,我怀疑图像加载与资源加载不同。

有什么想法我可能会出错吗?

java plugins eclipse-plugin resources
1个回答
0
投票

所以,我最终解决了这个问题,但这个问题很有趣。我试图引用的资源之一是

.java
文件,并且该
.java
文件正在编译,因此不再存在于生成的 JAR 中。将扩展名更改为
.txt
让我解决了这个问题。

也就是说,根据 howgler 的回答,我确实需要将

MyClass.class.getResourceAsStream
中使用的路径更改为
../../resources/file.txt

© www.soinside.com 2019 - 2024. All rights reserved.