當我嘗試使用gradle這個與-t
標誌運行build
:Gradle連續編譯支持SpringBoot嗎?
./gradlew clean build -x test -t
我得到及時行:
等待更改任務的輸入文件...(CTRL-d退出)
但是當我命令嘗試它不工作/顯示:
./gradlew clean bootRun -t
它是否適用於Spring Boot? (我知道春天dev tools plugin - 1.3還沒有發佈)
當我嘗試使用gradle這個與-t
標誌運行build
:Gradle連續編譯支持SpringBoot嗎?
./gradlew clean build -x test -t
我得到及時行:
等待更改任務的輸入文件...(CTRL-d退出)
但是當我命令嘗試它不工作/顯示:
./gradlew clean bootRun -t
它是否適用於Spring Boot? (我知道春天dev tools plugin - 1.3還沒有發佈)
這取決於你的Spring Boot應用程序的性質。如果你的應用程序通常運行,然後退出,然後連續構建將工作。但是,如果您的應用程序通常無限期地保持活動狀態,例如因爲它是處理HTTP請求的Web應用程序,那麼它將無法工作。在後一種情況下,任務從未完成,所以Gradle不知道該開始觀察變化了。
andy-wilkinson在他的回答中是正確的:gradle bootRun
從未完成,因爲某些應用程序無限期地運行。它在這個issue in the grails project有很好的記錄。
我找到了一種方法來強制bootRun從命令行重新加載應用程序。這裏的關鍵項目是gradle daemon和spring-boot-devtools包。
爲了讓它重新加載,你需要打開2個終端。
gradle build --continuous
gradle build --continuous --quiet & 2>1 >/dev/null
運行,但你會錯過重要的構建警告/錯誤。 gradle --stop
停止觀看。gradle bootRun
感謝您的解釋。在那種情況下,你是否知道這種無限期任務的解決方法(例如bootRun)? – kasiacode