У меня есть следующий служебный класс:
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()
, я получаю java.lang.ExceptionInInitializerError
в строке, которая инициализирует ImmutableMap.
Я предполагаю, что проблема связана с порядком инициализацииметод getProperty()
, но не удается найти правильный порядок.
Ошибка вызвана ошибкой инициализации или чем-то еще?