java.lang.IncompatibleClassChangeError:找到类com.mysql.jdbc.Statement,但是接口是预期的

时间:2011-05-17 06:31:53

标签: mysql sql database

当SQL异常出现时

java.lang.IncompatibleClassChangeError: Found class com.mysql.jdbc.Statement, but interface was expected
你可以解释一下吗?它是由于mysql jar更改到下一个版本?

2 个答案:

答案 0 :(得分:1)

在mysql-connecter-java-5.0中,Statement是一个类。在5.1中,它是一个界面。

你写的代码不应该太在意。但是如果你针对新版本编译,然后针对旧版本运行,你就会遇到这个问题。

答案 1 :(得分:0)

如果您使用mysql-connector-java-5.0编译代码,并且在执行代码时使用mysql-connector-java-5.1,则会出现此问题。

如果您是Java开发人员,则可以轻松重现此问题。 在import语句中,使用“ import com.mysql.jdbc.Statement”编写一些jdbc逻辑,针对“ mysql-connector-java-5.0.jar”编译代码,并在类执行时使用“ mysql-connector-java-5.1”。罐子”。

要解决此问题,请验证用于编译和执行的版本是否相同。