Извините, если этот вопрос станет глупым, но я просто не могу найти свою ошибку, и я проверил уже много сообщений здесь, в SO и других сайтах. У меня есть проект Play 2.3.7 с использованием Java. Я создал файл Global.java в общем пакете в каталоге приложения. В этом файле я переопределяю onStart (и другие крючки), но я не заставляю их работать. Они просто не исполняются вообще. Вот файл Global.java:Global onStart on Play Framework 2.3.7 не работает?
package common;
import play.Application;
import play.GlobalSettings;
import play.Logger;
public class Global extends GlobalSettings {
@Override
public void beforeStart(Application application) {
Logger.error("good bye cruel world");
super.beforeStart(application);
throw new RuntimeException("WTF");
}
@Override
public void onStart(Application application) {
Logger.error("good bye cruel world");
super.onStart(application);
throw new RuntimeException("WTF");
}
@Override
public void onStop(Application application) {
Logger.error("good bye cruel world");
super.onStop(application);
throw new RuntimeException("WTF");
}
}
А внутри application.conf, вот соответствующая часть, которая комментируется по умолчанию:
# Define the common.Global object class for this application.
# Default to common.Global in the root package.
# application.global=common.Global
Что может быть проблема? Благодарю.
Ну, это работает, если я переместить его в пакет по умолчанию, на самом деле. Благодарю. Теперь созданные комментарии немного вводят в заблуждение, говоря об общем пакете по умолчанию. Кроме того, я попытался переместить Global.java в другое место и использовать application.global = the.new.package.Global, но он не работает: он выдает некоторое исключение, и приложение не запускается. Есть идеи? – ale64bit
Вы можете использовать 'application.global' только для изменения имени класса объекта' Global'. например 'application.global = SomethingGlobal', но вы не можете переместить его в другой пакет. –
Ну, я просто переехал и переименовал Global.java в common.SomethingElse.java, добавил application.global = common.SomethingElse, и он сработал. Поэтому я думаю, вы ошибаетесь в этом. Спасибо в любом случае. – ale64bit