Я пытаюсь найти режим (Dev vs Prod) своего игрового приложения. Я ввел среду, как показано ниже:
public class Sample{
@Inject
private play.Environment environment;
и я вызываю метод, как показано ниже:
public void methodName(){
if (environment.isDev()) {
//do something
}
}
}
поскольку переменная environment не инициализирована, она выдает NullPointerException, когда я пытаюсь получить к ней доступ для вызова метода isDev().
Как инициализировать объект environment? Любая помощь приветствуется. Благодаря тонну!


Во-первых, не используйте инъекцию поля, во многих случаях это не сработает.
public class Sample {
@Inject
public Sample(final Environment environment) {
}
}
Во-вторых, как создается образец? Вам нужно создать его с помощью внедрения зависимостей, иначе это не сработает. Если вам это нужно, используйте:
bind(Sample.class).as(Singleton.class);
а затем образец @Inject в другом классе. Если это не синглтон, используйте bind () иначе