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

Vaadin 14.10.1升级后flow-server 2.9.2出现NoSuchMethodError报错求助

解决Vaadin 14.10.1升级后Jsoup方法找不到的报错

问题背景

将Vaadin版本从14.4.4升级至14.10.1后,在flow-server 2.9.2的com.vaadin.flow.component.polymertemplate.TemplateDataAnalyzer.inspectTwoWayBindings方法(第244行)出现以下报错:

java.lang.NoSuchMethodError: 'org.jsoup.nodes.Element org.jsoup.nodes.Element.traverse(org.jsoup.select.NodeVisitor)'

问题原因

该错误属于依赖版本冲突:Vaadin 14.10.1对应的Flow 2.9.2依赖的Jsoup版本,与项目中其他依赖引入的Jsoup版本不兼容。旧版本Jsoup中不存在traverse(NodeVisitor)方法,导致运行时无法定位到该方法。

解决步骤

  • 排查项目中的Jsoup依赖来源
    使用构建工具查看依赖树,定位引入不兼容Jsoup版本的依赖:

    • Maven:执行命令 mvn dependency:tree | grep jsoup
    • Gradle:执行命令 gradle dependencies | grep jsoup
  • 强制统一Jsoup版本
    Vaadin Flow 2.9.2要求的Jsoup版本为1.14.3,在构建文件中强制指定该版本:

    • Maven(在<dependencyManagement>节点下添加):
      <dependency>
          <groupId>org.jsoup</groupId>
          <artifactId>jsoup</artifactId>
          <version>1.14.3</version>
      </dependency>
      
    • Gradle(在build.gradle中添加):
      configurations.all {
          resolutionStrategy.force 'org.jsoup:jsoup:1.14.3'
      }
      
  • 清理并重新构建项目

    • Maven:mvn clean install
    • Gradle:gradle clean build
  • 验证修复
    启动应用,检查该报错是否消失。

额外建议

Polymertemplate在Vaadin 14后期版本已标记为过时,建议后续逐步迁移至Lit模板,减少后续版本升级的兼容性风险。

内容的提问来源于stack exchange,提问作者Abhishek-M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:13:14