我正在尝试重新开始使用Spring Boot DevTools。我一直在按照此处提供的说明进行操作:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html
我正在使用gradle并将其包含在我的build.gradle文件中:
bootJar {
excludeDevtools = false
}
我创建jar文件并运行jar文件:
java -jar app.jar
我能够通过Intellij连接到正在运行的应用程序。进行更改时,我可以在Intellij控制台中看到更新的类已上载到正在运行的进程。在正在运行的进程的日志中,我看到该进程尝试重新启动。但是,该过程退出并吐出此日志:
org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[com.example.BootApplication];嵌套异常是java.io.FileNotFoundException:类路径资源[com / example / ExampleService.class]无法打开,因为它不存在。
ExampleService是我修改的类。
我试图用谷歌搜索一下,但是什么也没找到。我在线上看了很多教程,但什么也没找到。
如果有人遇到此问题或有任何我可以尝试的方法,将不胜感激。
答案 0 :(得分:1)
该问题基于文件的编译方式。 编译文件时,它首先删除已编译的文件,然后添加一个新文件。在此过程中,如果轮询时间太短,则文件系统监视程序会将其视为两个不同的更新(删除文件和添加新文件)。并且删除文件会触发从远程应用程序中删除文件,并尝试在不更改文件的情况下重新启动应用程序,因此,您将收到此错误。
我遇到了类似的问题,但是通过在application.properties中添加以下内容解决了该问题
spring.devtools.restart.pollInterval=10s
您可以更改适合您的pollInterval