【发布时间】:2014-11-30 20:30:26
【问题描述】:
我正在尝试从我的 Web 应用程序(一个简单的 Servlet 应用程序)调用 JAR 文件中存在的方法。以下是该方法用于访问属性文件的代码:
InputStream inputStream =
ClassLoader.getSystemClassLoader()
.getResourceAsStream("demo.properties");
properties.load(inputStream);
当使用我的 Web 应用程序调用此方法时,我得到了 NullPointerException:
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)
at java.util.Properties.load(Unknown Source)
此异常的可能原因是:我的 Web 应用程序无法找到 demo.properties 文件,因此 inputStream 是 NULL 并引发此异常。
请告诉我:
如何解决此异常。
我是否需要在我的基于 Web 的应用程序中手动放置属性文件?如果是,那么在我的 Web 应用程序中将这个
demo.properties文件放置在何处以解决此异常。
【问题讨论】:
-
demo.properties目前在 jar 中的什么位置? -
src文件夹是一个项目文件夹。生成的.jar中的文件在哪里? -
反编译器?不是压缩包吗?
-
@Brandon 反编译器将打开 zip 存档(当然也会反编译类文件)
-
我认为您使用了错误的类加载器。系统类加载器(通常)不会看到您的 Web 应用程序类,而只会处理核心 Java 类,如 java.lang.*、java.util.* 等。
标签: java jakarta-ee servlets web-applications web