在我將項目從Grails 3.1.11更新到3.2.0後,該項目停止工作。Grails 3.2.0 Bootstrap.groovy腳本不執行
當我從IDE啓動proj時,它工作正常。但是當我將它打包到jar並嘗試在終端中運行時,BootStrap.groovy不會執行。
什麼問題?
在我將項目從Grails 3.1.11更新到3.2.0後,該項目停止工作。Grails 3.2.0 Bootstrap.groovy腳本不執行
當我從IDE啓動proj時,它工作正常。但是當我將它打包到jar並嘗試在終端中運行時,BootStrap.groovy不會執行。
什麼問題?
我剛剛發現一個issue on GitHub。 現在BootStrap.groovy中和UrlMappings.groovy應該是在默認包
Migration docs沒有關於這個問題還沒有信息..
向文檔添加拉請求:https://github.com/grails/grails-doc/pull/517 –
@GregorPetrin thanx! –
謝爾蓋·林尼克的答案是正確的BootStrap.groovy中文件應在默認的包,但是對於重構從INIT文件夾中的BootStrap.groovy中的類將默認包,它增加
使用IDE時,(在我的情況 的IntelliJ 2016年2月4日)外景package default //ensure the package folder is added
class BootStrap {///}
否則,在構建grails應用程序時,它會將Bootstrap.groovy文件再次移出默認包,因爲重構沒有更新它。不知道它是否是intellij錯誤或不是。
我認爲這裏的問題是.groovy文件所在的位置並不重要,.class文件將放置在封裝聲明所說的位置,因此,當類的導入發生時,他們需要查找它軟件包聲明說它應該是。 – billjamesdev
是您的BootStrap.groovy在特定的包中,還是隻是默認的沒有在文件中定義的包? –
默認情況下,@GregorPetrin,沒有包 –
Nevermind,我剛剛測試過,無論執行什麼,我們都遇到過問題。沒有定義包的taglibs;是'grails-app/init/BootStrap.groovy'或其他地方的BootStrap? –