ExceptionInInitializerError с методом getProperty () в Guava ImmutableMap - PullRequest
0 голосов
/ 30 января 2019

У меня есть следующий служебный класс:

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(), но не удается найти правильный порядок.

Ошибка вызвана ошибкой инициализации или чем-то еще?

...