问题
this is driving me crazy. I have a NetBeans project in a folder with the following structure:
MyProject
---- build
---- src
---- resources
in src my code is in packages. What I am trying to do is to use
getClass().getResource("/resources/new.png");
from a class in package com.my.package but it just refuses to work! The "new.png" image is in the resources folder. Am I missing something here?
After a lot of playing around and moving the "new.png" image here and there to see when it will find the image, it finally worked but only when I put the image in the build folder. So what do I have to do to make this work ?
edit: sorry, wrong String in method parameter. Corrected now
回答1:
I'm not familiar with NetBeans, but the problem is probably that the resources
folder (or the root of the project, for that matter) is not on the classpath, unlike build
.
You need to configure NetBeans to add the root folder, or resources
to the classpath, and load the file relative to there.
See also this question: Java - getClassLoader().getResource() driving me bonkers
回答2:
This works fine:
BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream("file_name"));
来源:https://stackoverflow.com/questions/12440035/java-getresource-not-working