2009-08-25 16 views
21

當通過grails -Dgrails.env = custom run-app使用grails運行自定義環境時,似乎關閉了自動重載/熱部署,是否有人知道如何在任何給定的環境中任意啓用此功能,而不僅僅是dev,這似乎是默認情況下實際啓用的唯一env?Grails在自定義環境的run-app中自動重載功能

+2

有點晚了,但似乎GSP文件的自動重新編譯禁用自定義運行環境,由於某些原因Gr ails也會忽略'disable.auto.recompile'標誌。通過將'-Dgrails.gsp.enable.reload = true'傳遞給run-app腳本,我能夠獲得GSP文件的重新編譯。 – Aquatoad 2011-02-25 21:04:09

回答

3

你想要的標誌爲 「disable.auto.recompile」,例如:

grails -Dgrails.env=custom -Ddisable.auto.recompile=false run-app 
+0

這似乎是不穩定的,例如原始代碼更改在一個控制器或服務的工作原理,但在應用程序視圖或Web應用程序目錄中說js,css或html更改,沒有骰子? – 2009-08-26 00:12:30

+0

那些不會爲你自動加載?奇怪的是,即使沒有disable.auto.recompile,我也能正常工作。你有緩存嗎?如果你使用的是firefox命令cmd-shift-R(或windows上的ctl-shift-R)重新加載並繞過緩存。 – 2009-08-26 01:05:24

+0

不,似乎並沒有發生在我身上,雖然在開發模式...很奇怪。 – 2009-08-26 04:09:24

17

我解決了這個通過添加以下到我的ENV(在這種情況下,自定義)的Config.groovy:

custom { 

    disable.auto.recompile=false 
    grails.gsp.enable.reload=true 
} 

您也可以將-reloading標誌添加到您的運行配置:

grails -reloading -Dgrails.env=custom run-app 

確保它是第一個參數!

右鍵單擊您的項目 - >運行方式 - >運行配置

Run Config changes

Blog post about auto refresh in a Grails custom env

+0

是否僅適用於GSP文件?如何使它自動重新加載所有類型的文件不僅限於** GSP **? – Ishwor 2016-01-14 20:24:52

+0

你看到什麼類型的文件沒有重新加載@ishwor? – anataliocs 2016-01-14 20:33:49

+0

你說過,確保它是第一個參數,但在截圖中它是第二個參數。這是一個錯字嗎? – slim 2016-02-04 20:27:46

0

解決包含項目我的文件夾的名稱變化問題......這時候名稱有空格...因爲相當空間的一切都開始運作良好

+1

請花更多的精力寫一個答案。從完整的句子和標點開始。 – GhostCat 2017-11-29 15:53:23

+0

對不起,我想說的是我通過更改包含我的項目的文件夾的名稱來解決問題。以前該文件夾有一個名稱包含空格,刪除這些空間後,一切運作良好..例如我的文件夾myfolder – 2017-11-29 18:47:11