【问题标题】:Does gradle continuous build support SpringBoot?gradle 持续构建是否支持 SpringBoot?
【发布时间】:2015-10-09 07:43:22
【问题描述】:

当我尝试使用带有 -t 标志的 gradle 运行 build 时:

./gradlew clean build -x test -t

我得到提示行:

等待对任务输入文件的更改...(ctrl-d退出)

但是当我使用bootRun 命令尝试它时它不起作用/出现:

./gradlew clean bootRun -t

它是否适用于 Spring Boot? (我知道 Spring dev tools plugin - 1.3 还没有发布)

【问题讨论】:

    标签: spring gradle spring-boot


    【解决方案1】:

    andy-wilkinson 的回答是正确的:gradle bootRun 永远不会完成,因为某些应用程序会无限期地运行。它在issue in the grails project 中有详细记录。

    我找到了一种强制 bootRun 从命令行实时重新加载应用程序的方法。这里的关键项目是gradle daemonspring-boot-devtools 包。

    要让它实时重新加载,您需要打开 2 个终端。

    1. gradle build --continuous

      • build --continuous 将继续满足初始构建请求,直到停止
      • gradle build --continuous --quiet & 2>1 >/dev/null 在后台运行,但您会错过重要的构建警告/错误。 gradle --stop 停止观看。
    2. gradle bootRun

      • Bootrun 以类路径上的 spring-boot-devtools 开头,它将检测更改并重新启动应用程序。

    【讨论】:

      【解决方案2】:

      这取决于您的 Spring Boot 应用程序的性质。如果您的应用程序通常运行然后退出,那么持续构建将起作用。但是,如果您的应用程序通常无限期地保持活动状态,例如因为它是一个处理 HTTP 请求的 Web 应用程序,那么它将无法工作。在后一种情况下,bootRun 任务永远不会完成,因此 Gradle 不知道是时候开始观察变化了。

      【讨论】:

      • 感谢您的解释。在这种情况下,您知道这种无限期任务(例如 bootRun)的解决方法吗?
      猜你喜欢
      • 2013-05-20
      • 1970-01-01
      • 2014-05-29
      • 2023-01-20
      • 1970-01-01
      • 2022-01-19
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多