我对开发 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
文件,并且该 .java
文件正在编译,因此不再存在于生成的 JAR 中。将扩展名更改为 .txt
让我解决了这个问题。
也就是说,根据 howgler 的回答,我确实需要将
MyClass.class.getResourceAsStream
中使用的路径更改为 ../../resources/file.txt
。