
Vaadin 22.1.0 起不再提供免费长期维护支持,所有构建(含 build-frontend)均需有效许可证验证;即使未使用商业组件,也必须配置开发或服务器许可证,否则 Maven 编译将因 license validation 失败而中止。
vaadin 22.1.0 起不再提供免费长期维护支持,所有构建(含 `build-frontend`)均需有效许可证验证;即使未使用商业组件,也必须配置开发或服务器许可证,否则 maven 编译将因 license validation 失败而中止。
Vaadin 自 22.1.0 版本起正式结束对 Vaadin 22 系列的免费维护周期。尽管您未主动启用任何商业功能(如 Charts、Grid Pro 或 Report Engine),但该版本已将前端构建流程(vaadin-maven-plugin:build-frontend)与许可证验证深度耦合——这是 Vaadin 商业化策略调整的关键体现。
? 为什么旧版(22.0.2)无报错,而 22.1.0 突然失败?
- Vaadin 22 的生命周期变更:原计划中,Vaadin 22 仅维持短期维护(类似 15–21),但因 Java 版本升级(Vaadin 23+ 要求 JDK 17+)导致部分用户无法及时迁移,官方曾延长其免费维护期 12 个月。
- 2026 年起正式终止:根据 Vaadin 官方公告及当前时间(2026年8月),该延期已到期。22.1.0 及后续补丁版本(如 22.1.1、22.1.2)均强制执行许可证检查,无论是否调用 Pro 组件。
✅ 解决方案(按使用场景选择)
✅ 场景一:本地开发(有网络,个人/非生产)
- 访问浏览器自动弹出的授权页,或手动打开:
https://vaadin.com/pro/validate-license?connect=76ed2a34-0e7d-4371-a8fe-18088ed1636e&productName=flow&productVersion=9.1.2 - 使用 Vaadin 账户登录并完成验证;
- 验证成功后,插件会自动缓存 license token(默认存储于
~/.vaadin/license.json); - 重新执行
mvn clean compile即可通过。
⚠️ 注意:此方式仅适用于开发环境,且每次更换设备或清理缓存后需重新验证。
✅ 场景二:离线开发(无互联网访问)
- 访问离线密钥申请页:
https://vaadin.com/pro/validate-license?getOfflineKey=mid-785f5586-288733d9 - 下载生成的
vaadin-offline-key.json文件; - 将其复制到项目根目录,或全局配置路径(推荐项目级):
mkdir -p src/main/resources/META-INF/vaadin cp vaadin-offline-key.json src/main/resources/META-INF/vaadin/
- 确保
pom.xml中vaadin-maven-plugin版本与 Vaadin BOM 一致(如22.1.0),无需额外配置。
✅ 场景三:CI/CD 构建(Jenkins / GitHub Actions / CodeArts Build)
必须使用服务器许可证(Server License Key):
- 登录 Vaadin My Account → Licenses;
- 为您的 CI 服务器生成专属
vaadin-server-key.json; - 在构建环境中设置环境变量或挂载文件:
export VAADIN_LICENSE_KEY_PATH=/path/to/vaadin-server-key.json
- 或在 Maven 命令中显式指定(推荐):
mvn clean package -Dvaadin.licenseKeyPath=/path/to/vaadin-server-key.json
? 不推荐的“绕过”方式(风险提示)
- ❌ 修改
pom.xml移除vaadin-maven-plugin:将导致前端资源(frontend,target/frontend) 无法生成,应用启动失败; - ❌ 降级回 22.0.2:已知存在 CVE-2023-25499(高危 XSS 漏洞),不符合安全合规要求;
- ❌ 使用未授权破解工具:违反 Apache 2.0 + Vaadin 商业条款,可能导致法律风险及构建不稳定。
? 最佳实践建议
- ✅ 立即升级至 Vaadin 24.x LTS(如 24.10.8):当前最新稳定版(见知识库中
bookstore-example的pom.xml),全面支持 JDK 17+、模块化构建,并提供长达 3 年的免费长期支持(LTS); - ✅ 在
pom.xml中统一使用vaadin-bom管理依赖版本,避免插件与框架版本不匹配:<properties><vaadin.version>24.10.8</vaadin.version></properties><dependencymanagement><dependencies><dependency><groupid>com.vaadin</groupid><artifactid>vaadin-bom</artifactid><version>${vaadin.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencymanagement>
License 验证不是临时限制,而是 Vaadin 对企业级产品生命周期管理的明确信号。合理选择开发/服务器许可,或迁移到受支持的 LTS 版本,是保障项目可持续性与安全性的关键决策。










