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

求助解决NoSuchMethodError: GlassFish Jersey方法缺失问题

Jersey NoSuchMethodError 问题排查求助

我遇到了如下错误,已尝试从所有依赖中排除Jersey并同步版本,但问题仍未解决。我已排查了所有能想到的Jersey相关依赖,请问FasterXML会不会是问题根源?

错误信息片段

2023-08-11 01:28:58,514 ERROR Executor task launch worker for task 49576 com.company.companyorg.ps.companyapp.srf.money.merchantchange.handler.MerchantChangeHandler$ - Failed to extract merchant profile for merchantAccountNumber: 123123123123123
java.lang.NoSuchMethodError: org.glassfish.jersey.internal.LocalizationMessages.WARNING_PROPERTIES()Ljava/lang/String;
    at org.glassfish.jersey.internal.config.SystemPropertiesConfigurationModel.getProperties(SystemPropertiesConfigurationModel.java:120)
    at org.glassfish.jersey.internal.config.SystemPropertiesConfigurationProvider.getProperties(SystemPropertiesConfigurationProvider.java:29)
    at org.glassfish.jersey.internal.config.ExternalPropertiesConfigurationFactory.readExternalPropertiesMap(ExternalPropertiesConfigurationFactory.java:55)

(注:存在完整堆栈跟踪、依赖树、handler pom.xml、runner pom.xml相关信息)


问题分析与排查建议

  1. 错误本质:NoSuchMethodError 核心原因是Jersey内部类版本不兼容——编译时依赖的LocalizationMessages类包含WARNING_PROPERTIES()方法,但运行时加载的版本缺失该方法,说明依赖树中存在多版本Jersey核心包冲突。
  2. FasterXML的关联性:FasterXML(如Jackson)是Jersey常用的JSON处理依赖,但不会直接引发该错误,此异常完全是Jersey内部类的方法缺失导致,和FasterXML无直接关联。
  3. 排查方向:
    • 统一版本锁定:在项目根pom的<dependencyManagement>中声明所有Jersey模块(如jersey-common、jersey-server、jersey-client等)的统一版本,强制所有依赖继承该版本,阻断多版本引入。
    • 精准筛选依赖:执行命令 mvn dependency:tree -Dincludes=org.glassfish.jersey,输出所有Jersey相关依赖的引入路径,定位是否有第三方依赖间接引入了低版本Jersey。
    • 检查运行时类路径:解压部署包(如jar/war),查看BOOT-INF/lib或WEB-INF/lib下的Jersey jar包,确认是否存在不同版本的核心包(如同时存在jersey-common-2.25.jar和jersey-common-2.35.jar)。
    • 清理依赖缓存:执行 mvn clean install -U,强制更新本地仓库依赖,避免缓存的损坏jar包导致版本异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:35:14