当前位置: 首页 > 面试题库 >

java.lang.NoSuchMethodError:org.springframework.util.ClassUtils.forName(Ljava 问问题

充星腾
2023-03-14
问题内容

我使用非常简单的代码返回XML

RestTemplate restTemplate = new RestTemplate();

Source oResponse = restTemplate.postForObject(url, entity, Source.class,
            vars);

XPathOperations xpathTemplate = new Jaxp13XPathTemplate();
String address = xpathTemplate.evaluateAsString("//status", oResponse);

但是,出现以下错误

java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.forName(Ljava/lang/String;)Ljava/lang/Class;
at org.springframework.xml.JaxpVersion.<clinit>(JaxpVersion.java:51)
at org.springframework.xml.transform.TraxUtils.isStaxSource(TraxUtils.java:70)
at org.springframework.xml.xpath.Jaxp13XPathTemplate.evaluate(Jaxp13XPathTemplate.java:131)
at org.springframework.xml.xpath.Jaxp13XPathTemplate.evaluateAsString(Jaxp13XPathTemplate.java:91)

请帮忙。谢谢


问题答案:

运行时出现NoSuchMethodError表示你使用的库版本与生成代码所针对的版本不同。

在你的情况下,Spring是元凶。在运行时检查类路径上的内容,并确保以下各项:

  • 版本与编译时间罐相同
  • 如果存在多个版本,请删除不需要的版本


 类似资料: