【问题标题】:Why is upgrading to Tomcat 10.0.5 causing spring boot to shutdown after boot?为什么升级到 Tomcat 10.0.5 会导致 spring boot 在启动后关闭?
【发布时间】:2021-08-04 02:08:48
【问题描述】:

我有一个 spring boot 项目,我正在尝试使用嵌入式 Tomcat 10 而不是 Tomcat 7。我将以下内容添加到我的 POM...

<properties>
    <tomcat.version>10.0.5</tomcat.version>
    ...
</properties>

然后我运行之前运行的相同命令...

mvn clean package -U && java -cp target\my.jar;props -Dloader.main=com.my.Main org.springframework.boot.loader.PropertiesLauncher

但现在它只是启动然后自行关闭。最后的消息是......

2021-05-13 15:35:42.105  INFO 10084 --- [           main] com.my.Main                   : Started Main in 42.918 seconds (JVM running for 44.009)
2021-05-13 15:35:42.190  INFO 10084 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

为什么会发生这种情况?如何升级而不产生这种副作用?

【问题讨论】:

标签: spring-boot tomcat tomcat10


【解决方案1】:

Tomcat 10 是一个 Jakarta EE 9 servlet 容器。这基本上意味着,出于版权原因,所有 javax.* 包都重命名为 jakarta.*(Oracle 不允许 Eclipse 基金会使用 javax.* 名称)。

Spring Boot 2 和 Spring 5 仅支持之前的 Java EE 8 规范,您需要等待 Spring Boot 3 和 Spring 6 才能支持 Tomcat 10。或者,您可以通过 Apache Tomcat Migration Tool 传递 Spring 库,它刚刚达到 1.0 版或降级到 Tomcat 9.0。

另见

【讨论】:

  • 确认“9.0.45”有效
猜你喜欢
  • 1970-01-01
  • 2014-08-04
  • 2020-09-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
  • 2017-09-02
  • 2020-06-28
相关资源
最近更新 更多