【发布时间】:2021-01-16 17:09:08
【问题描述】:
我正在 Intellij 中启动一个新的 Spring Boot 2.4.2 应用程序并添加了 DevTools。
Spring Boot 是在 spring.io 的主页中创建的,而不是通过 Intellij 创建的。
在首选项 -> 构建、执行、部署 -> 编译器中,我检查了:自动构建项目。
然后我在 Help -> Find Actions 中搜索 Registry... 并搜索:compiler.automake.allow.when.app.running,也进行了检查。
我正常启动 Spring 应用程序,它在 4 秒后启动。
我在 Main-class 中有一些输出文本并保存该文件,但它运行 Spring Boot 两次。
首先它运行 Spring Boot,然后将其关闭,然后再次运行。
Thread-19] os.s.concurrent.ThreadPoolTaskExecutor : 关闭 ExecutorService 'applicationTaskExecutor' Thread-19] j.LocalContainerEntityManagerFactoryBean :关闭 JPA 持久性单元“默认”的 EntityManagerFactory
Thread-19] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: 作为 SessionFactory 的一部分启动模式的延迟 evictData 关闭'Thread-19] o.s.b.f.support.DisposableBeanAdapter : 在具有名称的 bean 上调用 destroy 方法失败 'inMemoryDatabaseShutdownExecutor':
org.h2.jdbc.JdbcSQLNonTransientConnectionException:数据库是 已关闭(要在 VM 关闭时禁用自动关闭,请添加 ";DB_CLOSE_ON_EXIT=FALSE" 到 db URL) [90121-200] Thread-19] com.zaxxer.hikari.HikariDataSource:HikariPool-4 - 关闭 已启动... Thread-19] com.zaxxer.hikari.HikariDataSource
: HikariPool-4 - 关闭完成。
在此之后,它再次启动 Spring Boot 应用程序。
首先它在 1.0 秒内启动它,然后关闭它以再次重新启动它,第二次它在 0.6 秒内启动,但我不明白为什么当我保存一次时它会运行 Spring 应用程序两次。
我在 Mac-Catalina 上运行 Intellij 2020.3.1 和 Spring Boot 2.4.2
【问题讨论】:
标签: macos spring-boot intellij-idea devtools