在spring mvc中执行jdbc调用

时间:2015-12-29 05:17:47

标签: java spring spring-mvc spring-jdbc

在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天遇到了这个问题,但仍未找到任何解决方案。

1 个答案:

答案 0 :(得分:2)

在极少数情况下,您可以找到java.lang.NoSuchMethodError。在这里,我根据你的问题总结了一些。

  1. 引用的类时抛出NoSuchMethodError错误 用于编译代码和类路径中的类 不同。如果定义了类,则在运行时发生此错误 已经不相容了。用户必须检查此错误 如果一个类的定义发生了不相同的变化。
  2. 当应用程序使用外部库时,可能会抛出
  3. NoSuchMethodError错误。假设您的应用程序是使用特定版本的外部库编译和执行的。在某些时候,外部库已更改,某些方法已被删除或更新。如果未更新应用程序的类路径,并且未使用最新版本的外部库编译代码,则在运行时将调用不再存在的方法,并且将引发NoSuchMethodError错误。
  4. 因此,在编译应用程序时,请确保您的类路径包含相应的源和.jar文件,并且您拥有每个文件的最新版本。

    因此,您的问题的解决方案是检查您正在使用的.jar的版本。为此,您可以使用maven依赖树,也可以查看maven存储库。