【发布时间】:2012-09-08 12:49:46
【问题描述】:
这快把我逼疯了。 我在具有以下结构的文件夹中有一个 NetBeans 项目:
MyProject
---- build
---- src
---- resources
在 src 中,我的代码在包中。我想做的是使用
getClass().getResource("/resources/new.png");
来自 com.my.package 包中的一个类,但它只是拒绝工作! “new.png”图像位于资源文件夹中。 我在这里错过了什么吗?
经过大量的玩耍并到处移动“new.png”图像以查看它何时会找到图像,它终于起作用了,但只有当我将图像放入构建文件夹时。 那么我需要做些什么来完成这项工作呢?
编辑:抱歉,方法参数中的字符串错误。现已更正
【问题讨论】:
-
但是你在哪里告诉方法图像在资源文件夹中? (不是我的反对票)。请注意,资源是相对于类加载器的路径找到的。
-
resources文件夹需要在类路径中结束;您是否将其列为源文件夹?它是否包含在 jar 的根级别?等等——如果不知道更多,就很难提供更多帮助。 -
不太熟悉你在说什么。如何将某些内容列为源文件夹?问题是,即使我的图像不在文件夹中,而只是在我的项目的根目录中,它仍然无法使用 getClass().getResource("/test.png");
-
你的项目的根可能不在类路径上,所以 .png 就类加载器而言是不可见的。
标签: java url embedded-resource