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

Vaadin14自定义主题类无法加载自定义主题与Lumo样式如何解决

修正方案如下:

1. 调整@Theme注解配置

原来基于themeFolder的静态主题配置和自定义主题类的用法冲突,需将启动类/配置类上的@Theme注解修改为绑定自定义主题类:

// 替换原有@Theme(themeFolder = "basetheme")
@Theme(value = BaseTheme.class)

2. 修正自定义主题类实现

你当前直接实现AbstractTheme接口会缺失Lumo默认样式的继承,且返回的资源路径格式错误,修改后的代码示例:

// 继承Lumo而非直接实现AbstractTheme,复用Lumo基础样式
public class BaseTheme extends Lumo {

    @Override
    public String getThemeUrl() {
        // 路径不要带开头斜杠,匹配jar包内资源目录
        return "themes/basetheme/";
    }
    
    // 不需要重写getBaseUrl,父类Lumo已处理基础样式路径
}

3. 校验jar包资源目录结构

确保你打包的jar内,自定义主题的所有资源存放在如下路径:
META-INF/resources/themes/basetheme/
路径需和getThemeUrl返回值完全匹配,否则资源会加载失败。

4. 检查pom依赖与插件配置

  • 确认依赖中已包含vaadin-lumo-theme对应版本的依赖
  • 确认vaadin-maven-plugin配置中没有禁用主题自动扫描的相关参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:27:05