当我尝试使用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