导出

时间:2016-11-27 20:03:13

标签: java eclipse jar resources export

我在Java / Eclipse中遇到了这个奇怪的问题。我使用它来加载BufferedImages(以及类似的加载字体):

ClassLoader classLoader = ResourceLoader.class.getClassLoader();
ImageIO.read(new File(classLoader.getResource(path).getFile()));

此代码位于名为ResourceLoader的类中。它是我制作并用于加载BufferedImages和Fonts的实用程序类。一切都在Eclipse中工作,但是当导出到可执行JAR时,它会在尝试加载资源时抛出nullPointerException。我查看了JAR,资源被打包在那里。

路径采用以下格式:"/img/paper.png"

以下是我的项目的层次结构:

My project hierarchy

为什么它不起作用的任何想法?

1 个答案:

答案 0 :(得分:0)

jar文件的内容不是文件和文件夹,因此您无法像访问内容一样访问其内部。类加载器可以为您提供资源的直接InputStreamImageIO可以InputStream。一起使用它们。