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 版本实际上是正确的——如果是这样,也值得检查调用它的代码的版本。
我遇到以下错误,我认为这是由于 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 版本实际上是正确的——如果是这样,也值得检查调用它的代码的版本。