我正在尝试使用下面的代码读取属性文件。该代码在测试框架内,并且在运行测试方法时仅被调用一次。当运行测试方法时,静态代码将正常运行。
我在代码中添加了额外的main方法。由于代码后给出的错误,它失败。我需要帮助才能找出失败的原因。
import java.io.IOException;
import java.util.Properties;
public class MyClass {
private static Properties myProps = new Properties();
static {
try {
myProps.load(
Thread.
currentThread().
getContextClassLoader().
getResourceAsStream("config/critical.properties"));
} catch (IOException e) {
System.out.println("File not found config/critical.properties");
}
}
public static void main(String [] args){
System.out.println("Testing properties...");
}
}
错误:
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at com.demo.learn.MyClass.<clinit>(MyClass.java:12)
我看到getResourceAsStream(“ config / critical.properties”)返回null。我如何找出为什么它返回null?我正在步入许多未知的类/函数,但是我无法弄清为什么返回空值。有没有一种简单的方法来找出为什么找不到属性文件?
谢谢!