Почему обновление до 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.

Смотрите также

Другие вопросы по тегам