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

同配置下Maven构建Weblogic部署失败:NoSuchMethodError求助

解决Weblogic部署Jackson NoSuchMethodError问题(两台机器构建结果不一致)
  • 核对Maven本地仓库依赖版本
    两台机器的Maven本地仓库里,com.fasterxml.jackson.core相关jar包(jackson-databind、jackson-core、jackson-annotations)可能存在版本差异——哪怕pom.xml配置一致,本地缓存的依赖也可能不一样。
    执行命令对比依赖树:

    mvn dependency:tree -Dincludes=com.fasterxml.jackson.core
    

    若版本不一致,删除本地仓库的Jackson目录(~/.m2/repository/com/fasterxml/jackson)后重新构建。

  • 排查Weblogic全局类加载干扰
    Weblogic本身可能内置了旧版Jackson,就算配置了prefer-application-packages,系统类加载器也可能提前加载旧类,覆盖应用里的版本。

    • 检查Weblogic域的$DOMAIN_HOME/lib目录,若有Jackson相关jar包,要么移除要么替换为应用使用的版本。
    • 调整weblogic-application.xml,补充资源优先加载配置:
      <prefer-application-packages>
          <package-name>com.fasterxml.jackson.*</package-name>
      </prefer-application-packages>
      <prefer-application-resources>
          <resource-name>META-INF/services/com.fasterxml.jackson.databind.Module</resource-name>
          <resource-name>com/fasterxml/jackson/**</resource-name>
      </prefer-application-resources>
      
  • 固定Jackson依赖版本
    若pom.xml里Jackson用了快照版(比如2.13.0-SNAPSHOT)或范围版本(比如[2.13,)),两台机器可能拉取到不同的包。把版本改成具体稳定版,比如2.13.4,避免动态解析带来的差异。

  • 检查Maven配置与系统环境差异
    对比两台机器的~/.m2/settings.xml,确保镜像、profile等配置完全一致;同时检查MAVEN_OPTS、JAVA_HOME等系统环境变量,确认没有差异。

  • 验证EAR包内的实际依赖版本
    解压两台机器生成的EAR包,查看WEB-INF/lib(或EJB模块的lib目录)下Jackson jar包的META-INF/MANIFEST.MF文件里的Implementation-Version属性,确认版本完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:24:19