[英]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,因此我假设执行该行时faceConfig
为null
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.