【问题标题】:Spring Boot devtools IntelliJSpring Boot 开发工具 IntelliJ
【发布时间】:2015-12-14 12:08:11
【问题描述】:

我正在使用 Spring Boot 1.3.0.M5,并且正在尝试利用 devtools。这允许您在开发过程中对应用程序进行更改,并且引导将重新加载您的应用程序。我已经使用 Java 和 Maven 在 STS 中看到了这个演示工作。

我正在尝试在 IntelliJ 14.1 中使用 Groovy 和 Gradle,但遇到了一些问题。首先是我的 Gradle Build 依赖项。

dependencies {
    compile("org.springframework.boot:spring-boot-devtools")
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.codehaus.groovy:groovy")
    testCompile("org.springframework.boot:spring-boot-starter-test") 
}

我创建了一个带有“/”映射的控制器

package demo

import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController
class HomeController {

    @RequestMapping("/")
    public String home(){
        "Hello, SpringOne 2GX!"
    }

}

我能够运行应用程序并访问http://localhost:8080 并看到字符串打印到屏幕上。如果我对文件进行更改,则不会发生任何事情,因为 IntelliJ 不会在更改时编译。如果你去 Build > Make Project 虽然我可以在控制台重新加载中看到 Spring Boot。所以这似乎是有效的,但如果我返回根 URL,我会收到以下错误,如果你没有适当的控制器,这基本上是你会看到的。

白标错误页面

这个应用程序没有明确的 /error 映射,所以你看到 这是一个后备。

Thu Sep 17 10:43:25 EDT 2015 出现意外错误(type=Not 找到,状态=404)。没有可用的消息

任何人都知道为什么重新加载对我来说不能正常工作吗?

【问题讨论】:

  • 如果你改为运行gradle classes,它会起作用吗?
  • @cfrick 没有同样的问题。 Spring Boot 重新加载,我得到白标错误。
  • 你用gradle bootRun运行这个?
  • 服务器上的堆栈跟踪是什么?
  • @cfrick bootRun 或运行 > 运行演示应用程序。

标签: java spring groovy gradle spring-boot


【解决方案1】:

我最近遇到了同样的问题。问题在于 devtools 拦截更改的方式。默认情况下,它等待 1 秒以完成编译。如果在那之后类路径上不存在类,则 devtools 认为类已被删除并在没有它的情况下重新启动应用程序。

大多数情况下,groovy 在我的机器上完成编译过程平均需要 3 秒。因此,类在重新启动时被删除。

解决这个问题的方法是设置 application.properties 文件中的 spring.devtools.restart.pollInterval 属性值大于 1000(对我来说 4000 可以正常工作) .

【讨论】:

    【解决方案2】:

    如果您指定要扫描的确切包就可以了。如:

    @ComponentScan(basePackages = "com.lsj.web")
    @EnableAutoConfiguration
    public class PlatformApplication {
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(PlatformApplication.class, args);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 2015-03-07
      相关资源
      最近更新 更多