2016-10-21 40 views
2

在我將項目從Grails 3.1.11更新到3.2.0後,該項目停止工作。Grails 3.2.0 Bootstrap.groovy腳本不執行

當我從IDE啓動proj時,它工作正常。但是當我將它打包到jar並嘗試在終端中運行時,BootStrap.groovy不會執行。

什麼問題?

+1

是您的BootStrap.groovy在特定的包中,還是隻是默認的沒有在文件中定義的包? –

+0

默認情況下,@GregorPetrin,沒有包 –

+0

Nevermind,我剛剛測試過,無論執行什麼,我們都遇到過問題。沒有定義包的taglibs;是'grails-app/init/BootStrap.groovy'或其他地方的BootStrap? –

回答

2

我剛剛發現一個issue on GitHub現在BootStrap.groovy中和UrlMappings.groovy應該是在默認包

Migration docs沒有關於這個問題還沒有信息..

+0

向文檔添加拉請求:https://github.com/grails/grails-doc/pull/517 –

+0

@GregorPetrin thanx! –

0

謝爾蓋·林尼克的答案是正確的BootStrap.groovy中文件應在默認的包,但是對於重構從INIT文件夾中的BootStrap.groovy中的類將默認包,它增加

使用IDE時,(在我的情況 的IntelliJ 2016年2月4日)外景
package default //ensure the package folder is added 

class BootStrap {///} 

否則,在構建grails應用程序時,它會將Bootstrap.groovy文件再次移出默認包,因爲重構沒有更新它。不知道它是否是intellij錯誤或不是。

+0

我認爲這裏的問題是.groovy文件所在的位置並不重要,.class文件將放置在封裝聲明所說的位置,因此,當類的導入發生時,他們需要查找它軟件包聲明說它應該是。 – billjamesdev