Совместим ли Vaadin 7 с Spring Boot 2.x?

#spring-boot #vaadin #vaadin7

Вопрос:

У меня есть старое приложение Vaadin 7, и я пытаюсь обновить версию Spring Boot с версии 1.5.22.RELEASE до версии 2.0.9.RELEASE. Я постоянно сталкиваюсь с ошибками. Должно ли это вообще сработать? Я не могу найти никакой документации о совместимости версий.

Редактировать:

Ошибки java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver связаны с различными изменениями API между версиями Spring.

Официальный фреймворк Vaadin Весна загрузки дополнения 1.2.х ветвь, которая предназначена для использования с фреймворк Vaadin 7, Кажется, только для поддержки весенней загрузки 1.5. Том 3.х отделения для текущего фреймворк Vaadin 8 версий по-видимому, работает с обоими, но эти изменения еще не были портированы в старшее отделение и новая ветка не работает с фреймворк Vaadin 7. Применение руководства по миграции Spring Boot к моему проекту само по себе не помогает из-за несовместимости дополнений.

Комментарии:

1. Какие ошибки? Пожалуйста, будьте конкретны.

2. Я не считал их актуальными, так как вопрос касается ожидаемой совместимости, а не того, как преодолеть ошибки, но я могу попытаться не забыть добавить что-нибудь на следующей неделе (просто заканчиваю свой рабочий день).

Ответ №1:

К сожалению, нет, Vaadin 7 совместим только до версии Spring Boot 1.5. Если вы хотите использовать Spring Boot 2.x, у вас есть три варианта:

  • Обновите свой проект до использования Vaadin 8 (совместимого как с Spring Boot 1.5, так и с 2.x), подробности см. в руководстве по миграции. В большинстве случаев это довольно просто с помощью классов совместимости. Вероятно, было бы хорошей идеей сначала обновить версию Vaadin и обновлять версию Spring Boot только после того, как приложение уже запущено на Vaadin 8 (таким образом, будет легче определить, какое обновление виновато, если возникнут какие-либо проблемы). Однако следует отметить, что бесплатная поддержка Vaadin 8 закончится уже в феврале 2022 года, хотя коммерческая расширенная поддержка будет доступна еще в течение 10 лет после этого.
  • Создайте новый проект фреймворк Vaadin 14 (совместим только с весны ботинок 2.х, стартер, приложение, созданное start.vaadin.com Весна загрузки на основе по умолчанию), купить фреймворк Vaadin подписку, которая включает в себя Мультиплатформенная среда выполнения , которая позволяет вам использовать фреймворк Vaadin 7 классов в фреймворк Vaadin 14, и вставьте свои старые взгляды в новый проект с помощью МНР фантики. Не забудьте оставить свою старую весеннюю надстройку Vaadin 7 и вместо нее использовать новую, подключенную через сервлет Flow. Эта опция требует немного больше первоначальных усилий (и подписки), но дает вам возможность продолжить преобразование вашего проекта в чистую версию Vaadin 14 позже.
  • Полностью обновите свой проект до Vaadin 14 (или выше, но на данный момент это новейшая версия LTS). Руководство по миграции от Vaadin 8 и выше, поэтому вам может потребоваться также ознакомиться с руководством по миграции от Vaadin 7 до Vaadin 8 для некоторых функций. Это значительно больший скачок, чем с Vaadin 7 на Vaadin 8, поскольку вся обработка на стороне клиента была переписана после Vaadin 8, но сразу же дает вам доступ к новым наворотам, у вас будет еще несколько лет бесплатной поддержки, а обновление с Vaadin 14 до следующей версии LTS, в свою очередь, должно быть меньшим шагом снова.