Почему обновление до Tomcat 10.0.5 вызывает отключение весенней загрузки после загрузки?
У меня есть проект весенней загрузки, и я пытаюсь использовать встроенный 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'
Почему это могло произойти и как я могу выполнить обновление без этого побочного эффекта?
1 ответ
Tomcat 10 - это контейнер сервлетов Jakarta EE 9. Фактически это означает, что все пакеты были переименованы в
jakarta.*
по причинам авторского права (Oracle не разрешила Eclipse Foundation использовать
javax.*
имена).
Spring Boot 2 и Spring 5 поддерживают только предыдущую спецификацию Java EE 8, вам нужно дождаться Spring Boot 3 и Spring 6 для поддержки Tomcat 10. В качестве альтернативы вы можете передать библиотеки Spring через инструмент миграции Apache Tomcat , который только что достиг версии 1.0, или перейти на Tomcat 9.0.