我最近发现自己面临一个非常有趣的问题。我的应用程序中有一个properties
文件,我正在尝试从静态上下文中加载它。该properties
文件是从一个类加载的,该类Image
是一个静态类。在 Eclipse 中它工作正常,但是当我尝试将它导出为 JAR 时,它显然不起作用。
prop.load(new FileInputStream(new File(Images.class.
getClassLoader().
getResource("config.properties").
toString())));
这是我已经尝试使用的行,但是当我尝试运行该程序时,它会引发此错误:
Exception in thread "main" java.lang.NullPointerException
at controllers.Images.loadImageFiles(Images.java:47)
at views.World.<init>(World.java:55)
at views.World.main(World.java:40)
我在这里有点不知所措,所以我的问题是:
如何从静态上下文加载资源,更重要的是,在执行此操作之前是否需要将文件注册为资源?
编辑
经过一番搜索,我确定这是getResource
正在返回的方法null
。我想我现在最大的问题是为什么!?我的文件结构如下:
Project
src
controllers <-- This is where the Images class is.
models
views
img
doc
config.properties <-- This is the file I want.
我不完全确定这会有什么帮助,但我一直在寻找答案。