编程语言
首页 > 编程语言> > Java – .jar无法找到资源(图像,字体)

Java – .jar无法找到资源(图像,字体)

作者:互联网

我似乎无法找到路径和类与ClassLoader的正确组合.
这是我的项目的目录结构:

> build / classes / project / MainClass.class
> build / classes / resources / images / an_image.png
> build / classes / resources / ImageLoader.class

ImageLoader的源代码如下:

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;
     }
  }

我不完全确定它与this.getClass().getClassLoader().getResource()之间的区别是什么,但我尝试了各种路径组合,我似乎无法得到.jar查找和加载资源.

我哪里错了?

谢谢.

解决方法:

不要使用File.separator获取资源,它应该始终为’/’.可能还需要添加一个前导’/’来表示可以从类路径结构的“顶部”找到资源(而不是尝试加载它的类的子目录).

标签:java,jar,embedded-resource
来源: https://codeday.me/bug/20190826/1732160.html