【问题标题】:Running vaadin flow along with vaadin-8与 vaadin-8 一起运行 vaadin flow
【发布时间】:2022-06-17 21:05:15
【问题描述】:

我有一个可用的 vaadin-8 应用程序。我想将此应用程序迁移到 vaadin-23。我已添加与 vaadin-23 相关的依赖项

            <dependency>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-bom</artifactId>
                <version>${vaadin23.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

我能够基于 vaadin-23 创建视图。但问题是我的带有@Route 注释的vaadin-23 视图没有被使用。我无法从浏览器中访问这些网址。我是否需要像为 vaadin-8 一样为 vaadin-23 创建一些 servlet?

【问题讨论】:

  • 查看此示例项目,了解从 Vaadin 8 到同时运行两个应用程序的 Vaadin 14 的逐步迁移。 Vaadin 23 的场景在项目设置方面不应有所不同。 github.com/TatuLund/migrate-v8-to-v14/tree/master
  • 我遵循了这些迁移步骤,但问题是我的 @Route 注释 URL 未注册。我已使用 vaadin-8 中的 Vaadin4Spring 库来注册自定义 servlet。我认为我的 vaadin-23 的 serverlet 没有注册。应用程序启动时,我没有看到任何与 vaadin 流相关的日志。 Tahnks 寻求帮助
  • 我的应用程序使用旧版 vaadin-springboot 3.2.1 版,而对于 vaadin-23,我们需要 vaadin-spring 23.0.4 版。将它们一起使用会导致问题吗?
  • 是的,很可能是这样。两个版本的 Spring 附加组件都定义了新的范围,并且会有冲突。
  • 谢谢,但是对于这种情况我们有什么解决方法吗?

标签: vaadin-flow vaadin8 vaadin23


【解决方案1】:

如果应用程序未使用 Spring,请检查此示例项目,了解从 Vaadin 8 到 Vaadin 14 的逐步迁移,同时在同一工作区中同时运行两个应用程序。 Vaadin 23 的场景在项目设置方面应该没有什么不同。 github.com/TatuLund/migrate-v8-to-v14/tree/master

但如果您使用 Spring Boot,则很可能是这种情况。两个 Vaadin 版本都需要不同版本的 Spring 附加组件,而这些附加组件又定义了新的范围,并且会有冲突。

在这种情况下,总是可以在不同的上下文路径或不同的端口上部署两种不同的战争。当然,您应该将项目分开并为每个项目使用不同的 IDE 实例。但是,如果您的要求是让两个应用程序在同一台服务器上运行,以便在它们之间轻松切换,那么它可以达到此目的。

【讨论】:

    最近更新 更多