很抱歉,如果這個問題變得愚蠢,但我根本找不到我的錯誤,並且我已經在SO和其他網站上檢查了很多帖子。 我已經使用Java設置了Play 2.3.7項目。我在應用程序目錄下的公共包中創建了一個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