You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin Flow应用适配Spring Boot 2.6.0后前端资源加载异常咨询

Vaadin 21 + Spring Boot 2.6.0 静态资源加载异常解决方案

问题根因

Spring Boot 2.6.0 默认将路径匹配策略从 AntPathMatcher 调整为 PathPatternParser,而 Vaadin 21 版本的静态资源处理逻辑未适配该新匹配策略,导致符合Vaadin规则的静态资源路径无法被正确映射,无报错日志是因为请求直接被404拦截但未触发Vaadin侧的日志输出。

修复方案

可按优先级选择以下任意一种修复方式:

  • 方案1:回退路径匹配策略为旧版兼容模式
    在application.properties(或application.yml)中添加如下配置:
    spring.mvc.pathmatch.matching-strategy=ant_path_matcher
    
    该配置改动最小,适配Vaadin 21所有版本的现有逻辑,不需要修改其他业务代码。
  • 方案2:升级Vaadin版本至兼容分支
    直接将Vaadin版本升级到21.0.9及以上的21.x维护版本,该版本及后续已官方适配Spring Boot 2.6.x的路径匹配规则,不需要修改Spring Boot配置项。
  • 方案3:手动新增静态资源映射规则
    如果不想修改全局路径匹配策略也不想升级Vaadin版本,可以自定义WebMvc配置类,手动添加Vaadin静态资源的映射规则:
    @Configuration
    public class StaticResourceConfig implements WebMvcConfigurer {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/VAADIN/**", "/frontend/**")
                    .addResourceLocations("classpath:/META-INF/resources/VAADIN/", "classpath:/META-INF/resources/frontend/");
        }
    }
    

验证方式

修复后清理浏览器缓存重新加载页面,检查图片资源的请求状态码是否为200,资源可正常加载即可。

内容的提问来源于stack exchange,提问作者AISDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:15:04