在spring mvc中执行以下命令时显示错误。
Map<String,Object> out = simpleJdbcCall.execute(in);
错误是:
java.lang.NoSuchMethodError: org.springframework.jdbc.support.JdbcUtils.commonDatabaseName(Ljava/lang/String;)Ljava/lang/String; at org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory$1.processMetaData(CallMetaDataProviderFactory.java:73)
请帮忙。我在最近2天遇到了这个问题,但仍未找到任何解决方案。
答案 0 :(得分:2)
在极少数情况下,您可以找到java.lang.NoSuchMethodError
。在这里,我根据你的问题总结了一些。
NoSuchMethodError
错误
用于编译代码和类路径中的类
不同。如果定义了类,则在运行时发生此错误
已经不相容了。用户必须检查此错误
如果一个类的定义发生了不相同的变化。NoSuchMethodError
错误。假设您的应用程序是使用特定版本的外部库编译和执行的。在某些时候,外部库已更改,某些方法已被删除或更新。如果未更新应用程序的类路径,并且未使用最新版本的外部库编译代码,则在运行时将调用不再存在的方法,并且将引发NoSuchMethodError
错误。因此,在编译应用程序时,请确保您的类路径包含相应的源和.jar文件,并且您拥有每个文件的最新版本。
因此,您的问题的解决方案是检查您正在使用的.jar的版本。为此,您可以使用maven依赖树,也可以查看maven存储库。