我有一个spring boot项目,我正在尝试使用Tomcat10嵌入式而不是Tomcat7。。。
<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'
为什么会发生这种情况?如何升级而不产生这种副作用?
1条答案
按热度按时间jrcvhitl1#
Tomcat10是一个jakarta ee 9 servlet容器。这基本上意味着
javax.*
包被重命名为jakarta.*
由于版权原因(Oracle不允许Eclipse基金会使用javax.*
姓名)。SpringBoot2和Spring5只支持以前的JavaEE8规范,您需要等待SpringBoot3和Spring6来获得Tomcat10支持。或者,您可以通过ApacheTomcat迁移工具传递spring库,该工具刚刚达到版本1.0或降级到tomcat 9.0。
另见
Tomcat10.0.4没有加载带有404错误的servlet(@webservlet类)