繁体   English   中英

读取属性文件时获取空指针

[英]getting null pointer when reading the properties file

在读取属性文件时,我获得了nullpointer异常。

faceConfig.load(ReadPropertyFile.class.getClassLoader().getResourceAsStream("/resources/faces.properties"));

下面是属性文件facedetections/src/main/resources/faces.properties

我尝试了不同的组合作为我的类文件,读入下面的路径/facedetections/src/main/java/com/facial/facedetection/utils/ReadPropertyFile.java

组合是../../../../../resource/faces.properties/resource/faces.properties

../../../resource/faces.properties

请建议我能为此提供的正确路径。

编辑:我提取了war文件并在下面提供了它的路径。 战争提取

在类文件夹下查找属性文件而不是资源。 因为你的屏幕截图找不到类文件夹下的资源文件夹。

所以只需使用

 ReadPropertyFile.class.getClassLoader().getResourceAsStream("faces.properties")

该路径相对于对象( .class )文件所在的点。 您确定已配置构建/测试工具以将资源文件复制到该结构中吗? 究竟在哪里? 这才重要,而不是来源的位置。

另外,我的理解是大多数ClassLoaders getResourceAsStream()不支持..表示法。

资源文件当前所在的位置超出了ClassLoader 如果将文件移动到/facedetections/src/main/java/resources/faces.properties ,那么您将能够使用当前代码

getResourceAsStream("resources/faces.properties")

我在假设你的环境。 特别是,这完全取决于类加载器。 如果这没有帮助,请提供目标文件位置,而不是源(除非它是相同的,但说明它)。

由于在找不到文件时不太可能获得NPE,因此我假设执行该行时faceConfignull

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM