我有以下实用程序类:
public final class EnvironmentUriAndAuth {
public static final String ENVIRONMENT = getProperty("environment_type");
private static final ImmutableMap<EnvironmentConstants, String> AUTH_HEADER =
ImmutableMap.of(
DEV, getProperty("devTestAuth"),
TEST, getProperty("devTestAuth"),
PRELIVE, getProperty("preliveAuth"));
// private constructor
public static String getAuthHeader() {
return AUTH_HEADER.get(EnvironmentConstants.valueOf(ENVIRONMENT));
}
}
我在另一个类中调用方法getAuthHeader()
,该类应返回属性值,具体取决于在environment_type
属性中写入的值。
当我调用getAuthHeader()
方法时,我在初始化ImmutableMap的行上得到了java.lang.ExceptionInInitializerError
。
我想问题出在getProperty()
方法的初始化顺序上,但是找不到正确的顺序。
该错误是由初始化错误还是其他原因引起的?