이 질문이 바보가 되다니 죄송합니다.하지만 실수로 쉽게 찾을 수 없으므로 이미 여기 및 다른 사이트에서 많은 게시물을 확인했습니다. Java를 사용하여 Play 2.3.7 프로젝트를 설정했습니다. 공통 디렉토리에있는 app 디렉토리 아래에 Global.java 파일을 만들었습니다. 이 파일에서 onStart (및 다른 후크)를 덮어 쓰지 만 작동시키지 않습니다. 그들은 단순히 전혀 실행하지 않습니다. Play Framework 2.3.7의 글로벌 onStart가 작동하지 않습니까?
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 파일입니까? 감사.
글쎄, 그것은 실제로 작동합니다. 감사. 이제 생성 된 주석은 기본적으로 공통 패키지를 언급하는 오해를 불러 일으킬 수 있습니다. 또한 Global.java를 어딘가에 재배치하고 application.global = the.new.package.Global을 사용하려고 시도했지만 작동하지 않습니다 : 일부 예외가 발생하고 응용 프로그램이 시작되지 않습니다. 어떤 아이디어? – ale64bit
'global' 오브젝트의 클래스 명을 변경하기 위해서만'application.global'을 사용할 수 있습니다. 예 : 'application.global = SomethingGlobal'하지만 다른 패키지로 재배치 할 수는 없습니다. –
음 Global.java를 common.SomethingElse.java로 옮기고 application.global = common.SomethingElse를 추가했습니다. 그래서 나는 당신이 틀렸다고 생각합니다. 어쨌든 고마워요. – ale64bit