Spring bean java.lang.NoSuchMethodError 错误

Spring bean java.lang.NoSuchMethodError error

我遇到以下错误,我认为这是由于 spring-beans.jar 的旧版本所致,在我的 LIB 中我有 spring-beans--3.1.1.RELEASE.jar 但仍然低于错误。我已经在 WAS 8.5.X 服务器上部署了我的应用程序。

java.lang.NoSuchMethodError: org/springframework/beans/MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;

有什么方法可以在 linux 上搜索以找到罪魁祸首的罐子吗?

您可以检查 class 是从哪个 jar 文件加载的,将下面的行添加到您的 Java 程序

System.out.println(System.class.getResource(
           "/org/springframework/beans/MutablePropertyValues.class"));

应该打印类似

的内容
jar:file:/C:/my-program/lib/spring-beans-5.2.1.RELEASE.jar!/org/springframework/beans/MutablePropertyValues.class

或使用 Guava 的 Resources.getResource("org/springframework/beans/MutablePropertyValues.class");


NoSuchMethodError 错误通常意味着 class 的版本与其客户期望的版本不匹配。最终可能 spring-beans jar 版本实际上是正确的——如果是这样,也值得检查调用它的代码的版本。