为什么升级到 Tomcat 10.0.5 会导致 spring 开机后关机?
Why is upgrading to Tomcat 10.0.5 causing spring boot to shutdown after boot?
我有一个 spring 引导项目,我正在尝试使用 Tomcat 10 embedded 而不是 Tomcat 7。我将以下内容添加到我的 POM...
<properties>
<tomcat.version>10.0.5</tomcat.version>
...
</properties>
然后我 运行 与之前 运行ning 相同的命令...
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'
为什么会发生这种情况,我如何才能在没有这种副作用的情况下进行升级?
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.
另见
我有一个 spring 引导项目,我正在尝试使用 Tomcat 10 embedded 而不是 Tomcat 7。我将以下内容添加到我的 POM...
<properties>
<tomcat.version>10.0.5</tomcat.version>
...
</properties>
然后我 运行 与之前 运行ning 相同的命令...
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'
为什么会发生这种情况,我如何才能在没有这种副作用的情况下进行升级?
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.