Vaadin 7 与 Spring Boot 2.x 兼容吗?

Is Vaadin 7 compatible with Spring Boot 2.x?

我有一个旧的 Vaadin 7 应用程序,我正在尝试将 Spring 引导版本从 1.5.22.RELEASE 升级到 2.0.9.RELEASE。我一直 运行 出错。这应该有效吗?我找不到任何关于版本兼容性的文档。

编辑:

由于 Spring 版本之间的各种 API 更改,错误与 java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver 类似。

我的项目的官方 Vaadin Spring Boot add-on 1.2.x branch that is meant to be used with Vaadin 7 only seems to support Spring Boot 1.5. The 3.x branch of the add-on for current Vaadin 8 versions apparently works with both, but those changes haven't been backported to the older branch and the newer branch doesn't work with Vaadin 7. Applying the Spring Boot Migration Guide 由于插件不兼容,它本身并没有解决问题。

很遗憾,Vaadin 7 仅兼容 Spring Boot 1.5。如果你想使用 Spring Boot 2.x,你有三个选择:

  • 升级您的项目以使用 Vaadin 8(与 Spring Boot 1.5 和 2.x 兼容),请参阅 migration guide 了解详细信息。在大多数情况下,这在兼容性 类 的帮助下相当简单。首先进行 Vaadin 版本升级可能是个好主意,只有在应用程序在 Vaadin 8 上已经 运行 后才升级 Spring 引导版本(这样就更容易找出应该归咎于哪个升级,如果有的话)有什么问题)。但是,需要注意的是,Vaadin 8 的免费支持将在 2022 年 2 月结束,尽管商业扩展支持将在此之后再提供 10 年。
  • 创建一个新的 Vaadin 14 项目(仅与 Spring Boot 2.x 兼容,由 start.vaadin.com is Spring Boot based by default), purchase a Vaadin subscription that includes Multiplatform Runtime 生成的入门应用程序允许您使用 Vaadin 7 类在 Vaadin 14 中,并在 MPR 包装器的帮助下将您的旧视图插入到新项目中。记住不要使用旧的 Vaadin 7 Spring 附加组件,并使用通过 Flow Servlet 连接的新视图相反。此选项需要更多的初始工作(和订阅),但可以让您在以后继续将项目转换为纯 Vaadin 14 版本。
  • 将您的项目完全升级到 Vaadin 14(或更高版本,但这是目前最新的 LTS 版本)。 migration guide 来自 Vaadin 8 以上版本,因此您可能还需要查阅 Vaadin 7 到 Vaadin 8 迁移指南以了解某些功能。这比从 Vaadin 7 到 Vaadin 8 的跳跃要大得多,因为在 Vaadin 8 之后重写了整个客户端处理,但您可以立即访问更新的功能,您将获得更多年的免费支持,而从Vaadin 14升级到下一个LTS版本又应该是一个更小的步骤了。