簡體   English   中英

Grails自動重新加載新的控制器動作

[英]Grails auto-reloading new controller actions

我有

  1. 創建了新的Grails 2.4.3項目
  2. 創建了TestController
  3. BuildConfig.groovy設置grails.reload.enabled = true
  4. 使用grails -reloading run-app

我的控制器動作代碼:

def index() {
    render "test"
}

當我將字符串test更改為test2 - 我在控制台中看到(在Eclipse中):

..................
|Compiling 1 source files

重新加載頁面后,我看到test2 - 好的。

但是當我嘗試添加新方法時:

def test3() {
    render "test3"
}

我知道了:

錯誤結果

為什么? 為什么連網址都沒有?

示例 - 操作不存在: 在此輸入圖像描述

有趣的是 - 當我創建一個全新的控制器時,新創建的控制器的index操作正常...

編輯

過了一會兒,我決定選擇彈簧靴,事實上 - 它也沒有用。 我認為springloaded是問題所在,因為它沒有在@Controller添加新的方法

我在github repo上問了同樣的問題。

似乎最新的彈簧式SNAPSHOT 工作正常

但它必須整合到Grails中 - 可能在下一個版本中不幸:(

我冒昧地向Grails報告了這個問題

適用於我的解決方案:

1)版本:

  • IDE:Intellij IDEA 14.1.3
  • JDK:jdk1.7.0_25
  • GRAILS:2.5.0

2)在BuildConfig.groovy上:

grails.reload.enabled = true
grails.project.fork = [
        test: false,
        run: false,
]

3)最初,我的代碼是在grails 2.4.4上編譯的,所以我升級到了2.5.0。 插件或任何東西的版本更改都沒有問題。 我的猜測是有效的,因為它使用了彈簧加載的更高版本。 腳步:

  • set-grails-version 2.5.0
  • 清潔
  • 刪除目錄工作(只是為了確定,我真的不知道這是不是很好的做法)
  • 編譯和/或轉到第4號

4)使用此配置的Debug Idea:run-app -reloading


工作完美,沒有分叉調試,重新加載啟用,重新加載后沒有控制台錯誤,所有斷點甚至在代碼更改后工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM