【问题标题】:Spring Boot Devtools restart does not automatically work with Spring Boot 1.5.4Spring Boot Devtools 重启不会自动与 Spring Boot 1.5.4 一起使用
【发布时间】:2017-07-19 01:05:49
【问题描述】:

我在网上查看了很多关于spring-boot-devtools 的文章和问题,但仍然不明白为什么它对我不起作用。每次我运行我的应用程序时,我都会得到以下信息:

17:54:28.057 [main] DEBUG 
org.springframework.boot.devtools.settings.DevToolsSettings
- Included patterns for restart : []

17:54:28.066 [main] DEBUG 
org.springframework.boot.devtools.settings.DevToolsSettings
- Excluded patterns for restart : [/spring-boot-starter/target/classes/,
/spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/,
 /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, 
/spring-boot-devtools/target/classes/]

17:54:28.069 [main] DEBUG 
org.springframework.boot.devtools.restart.ChangeableUrls - Matching 
URLs for reloading : [file:/some/where/build/classes/main/, 
file:/some/where/build/resources/main/]

每当我更改我的控制器文件之一时,什么都没有发生。所以我came across an article 提到我应该尝试将spring.devtools.restart.additional-paths=/src 添加到我的应用程序属性文件中。使用/src 将不起作用,因为它会认为这是一条绝对路径,所以我将其更改为仅src。之后,向我的控制器文件添加一个新端点并保存它会触发 Spring Boot 重启。但是,我得到了一个 404 端点,它只有在我手动重新启动服务器时才有效。

如何让 Spring Boot 重新启动并让我看到我对控制器所做的实际更改?

我在 build.gradle 中使用带有以下内容的 Spring Boot 1.5.4:

dependencies {
    // ...
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-devtools')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

我的应用具有以下结构:

build/
src/
  main/
    java/
      com/
        example/
          something/
            controllers/
              MyController.java
            SomethingApplication.java
    resources/
      application.yml
  test/
    ...

我的application.yml 包括

spring:
    devtools:
        restart:
            enabled: true
            additional-paths: src

【问题讨论】:

  • 你用的是什么IDE?
  • @punkrocker27ka 我不使用任何 IDE。只是一个文本编辑器。我使用 ./gradlew bootRun 运行 Spring Boot

标签: spring-boot spring-boot-devtools


【解决方案1】:

请检查 application.yml 或 logback-spring.xml 文件中提供的路径。

例如:您的 logback 中的 LOG_HOME 配置为 E:/logs,但您的笔记本电脑/台式机中没有 E:/ 驱动器。

因此,找不到匹配的 url,处理停止。

我也遇到了同样的问题,我更正了 logback-spring.xml 文件中的路径。

谢谢!

问候, 阿努拉格

【讨论】:

    【解决方案2】:

    Spring Boot Developer Tools: Automatic Restart

    使用spring-boot-devtools的应用程序会自动重启 每当类路径上的文件更改时。这可能是一个有用的功能 在 IDE 中工作时,因为它为代码提供了非常快速的反馈循环 变化。

    此功能需要使用 IDE

    【讨论】:

    • 此功能需要更改类路径。不需要 IDE。编译只需要将*.class 文件放在类路径中。所以使用Gradle,必须正确配置编译输出。
    猜你喜欢
    • 2021-07-15
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多