Vaadin 23:vaadin-core与flow-server的Maven版本不一致问题
观察记录(2022-08-13 20:06)
- 在Vaadin 23.1.6的BOM文件中,依赖的
flow.version为23.1.4; - 在Eclipse中查看pom.xml的依赖层级时,发现存在不同版本的组合。
版本发布情况
- Maven仓库显示,vaadin-core最新版本为2022-08-09发布的23.1.6(2022-08-02还发布过23.1.4);
- flow-server最新版本为2022-08-05发布的23.1.4,二者发布周期不同步。
pom.xml配置
仅在dependencyManagement中引入vaadin-bom,版本通过${com.vaadin.version}指定,配置如下:
<dependencyManagement> <dependencies> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-bom</artifactId> <version>${com.vaadin.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
问题解答
1. 当前版本混合可正常运行,但是否强制统一版本更好?
优先遵循BOM指定的版本组合,而非自行强制统一版本。
当前混合版本能正常运行,是因为Vaadin官方发布BOM时已验证过该版本组合的兼容性。如果自行强行将flow版本与vaadin-core统一,反而可能引入未经过测试的兼容性问题,比如API不匹配、内部逻辑冲突等。除非后续遇到明确与版本混合相关的Bug,否则信任BOM的版本搭配是更稳妥的选择。
2. 若版本差异是有意设计,其原因是什么?
这种版本差异是Vaadin团队分模块迭代策略的结果:
- Vaadin Core(包含UI组件等上层功能)和Flow(底层框架)是独立迭代的模块,各自的发布节奏由自身开发、测试周期决定。比如Vaadin Core可能需要快速修复UI组件Bug,而Flow在该阶段无更新需求,就会出现Core版本高于Flow的情况;
- BOM的核心作用就是为用户提供经过官方验证的兼容版本组合,避免用户自行处理复杂的依赖版本匹配问题。所以BOM中指定的Flow版本,是Vaadin团队确认能和对应Core版本稳定配合的最优选择,而非追求版本号完全一致。
内容的提问来源于stack exchange,提问作者sdo
相关产品推荐
相关产品推荐

