Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java getResource()不工作_Java_Url_Embedded Resource - Fatal编程技术网

java getResource()不工作

java getResource()不工作,java,url,embedded-resource,Java,Url,Embedded Resource,这让我快发疯了。 我在具有以下结构的文件夹中有一个NetBeans项目: MyProject ---- build ---- src ---- resources 在src中,我的代码在包中。我想做的是使用 getClass().getResource("/resources/new.png"); 来自包com.my.package中的类,但它只是拒绝工作!“new.png”图像位于resources文件夹中。 我是不是遗漏了什么 在反复播放和移动“new.png”图像以查看何时能找到图像

这让我快发疯了。 我在具有以下结构的文件夹中有一个NetBeans项目:

MyProject
---- build
---- src
---- resources
在src中,我的代码在包中。我想做的是使用

getClass().getResource("/resources/new.png"); 
来自包com.my.package中的类,但它只是拒绝工作!“new.png”图像位于resources文件夹中。 我是不是遗漏了什么

在反复播放和移动“new.png”图像以查看何时能找到图像后,它终于起作用了,但只有在我将图像放入构建文件夹时才起作用。 那么我要怎么做才能让它工作呢


编辑:对不起,方法参数中的字符串错误。现在更正

我不熟悉NetBeans,但问题可能是
资源
文件夹(或项目的根目录)不在类路径上,这与
构建
不同

您需要配置NetBeans以将根文件夹或
resources
添加到类路径,并加载与之相关的文件

另请参见此问题:

这很好:

BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("file_name"));

但是,您在哪里告诉该方法该图像位于resources文件夹中?(不是我的反对票)。请注意,资源是相对于类加载器的路径找到的。
resources
文件夹需要在类路径上结束;您是否将其列为源文件夹?它是否包含在jar的根级别?等等——如果不知道更多,就很难提供更多的帮助。不完全熟悉你所说的。如何将某些内容列为源文件夹?问题是,即使我的图像不在文件夹中,而只是在项目的根目录中,它仍然无法通过getClass().getResource(“/test.png”)找到它;项目的根可能不在类路径上,因此就类加载器而言,.png是不可见的。这确实是原因所在。我的印象是,这是自动完成的,我过去从未发生过这种情况。现在,我只需要找出如何在NetBeans项目的类路径中添加我的根:D