首页 > 解决方案 > java.lang.NoSuchMethodError: org.exolab.castor.xml.Marshaller.getResolver()

问题描述

我正在尝试在 Maven 项目中进行简单的 SIF 调用-在线

resp = (SearchQueryResponse) sipClient.process(req);

得到异常

Exception in thread "main" java.lang.NoSuchMethodError: org.exolab.castor.xml.Marshaller.getResolver()Lorg/exolab/castor/xml/ClassDescriptorResolver;
    at com.siperian.sif.message.CastorUtil.setMappingLoader(CastorUtil.java:470)
    at com.siperian.sif.message.CastorUtil.beanToXmlString(CastorUtil.java:358)
    at com.siperian.sif.message.CastorUtil.beanToXmlString(CastorUtil.java:323)
    at com.siperian.sif.message.CastorUtil.beanToXmlString(CastorUtil.java:309)
    at com.siperian.sif.message.CastorUtil.beanToXmlString(CastorUtil.java:295)
    at com.siperian.sif.client.HttpSiperianClient._process(HttpSiperianClient.java:117)
    at com.siperian.sif.client.SiperianClient.process(SiperianClient.java:179)

我在 .m2 文件夹中删除了多个版本的 castor 依赖项并更新了 maven。清理了项目,仍然错误不会消失,下面是maven依赖树 在此处输入图像描述

我可以在 castoe.xml jar 文件中看到 getresolver 方法 当我查看堆栈跟踪(调用 getResolver 的位置)时,它指向 castor.XML 的方法。

getResolver 方法

classDescriptorResolver.class

标签: javamavencastor

解决方案


推荐阅读