Java-.jar找不到资源(图像、字体)
我似乎找不到路径和类与类加载器的正确组合。 以下是我的项目的目录结构:Java-.jar找不到资源(图像、字体),java,jar,embedded-resource,Java,Jar,Embedded Resource,我似乎找不到路径和类与类加载器的正确组合。 以下是我的项目的目录结构: build/classes/project/MainClass.class build/classes/resources/images/an_image.png build/classes/resources/ImageLoader.class ImageLoader的源代码如下所示: public class ImageLoader { public ImageLoader(){...} public Buf
- build/classes/project/MainClass.class
- build/classes/resources/images/an_image.png
- build/classes/resources/ImageLoader.class
public class ImageLoader {
public ImageLoader(){...}
public BufferedImage loadImage(String fileName) {
String loc = "resources" + File.separator + "images" + File.separator;
URL imgURL = this.getClass().getResource(loc + fileName);
BufferedImage img = null;
try {
img = ImageIO.read(imgURL);
} catch (IOException e) {...}
return img;
}
}
我不完全确定它和这个.getClass().getClassLoader().getResource()
之间有什么区别,但我已经尝试了各种路径组合,似乎无法让.jar找到并加载资源
我哪里做错了
谢谢。不要使用
File.separator
获取资源,它应该始终是“/”。还可以添加一个前导“/”来指示可以从类路径结构的“顶部”找到资源(而不是尝试加载它的类的子目录)