这个问题在这里已经有答案了:
java.lang.unsupportedclassversionerror[重复](4个答案)
上个月关门了。
当我尝试使用hibernate将java应用程序连接到apachederby时,出现了这个错误。 Caused by: java.lang.UnsupportedClassVersionError: org/apache/derby/jdbc/EmbeddedDriver has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我到处都读到可能是因为缺少jar,但我甚至在lib文件夹中添加了以下jar:
derby-10.15.2.0.jar
derbyclient-10.15.2.0.jar
derbynet-10.15.2.0.jar
derbyshared-10.15.2.0.jar
derbytools-10.15.2.0.jar
下面是我的数据源连接变量:
database.url=jdbc:derby://opt/derby/sampleDerbyDB;create=true
database.driver=org.apache.derby.jdbc.ClientDriver (Also tried using EmbeddedDriver but same error)
hibernate.dialect=org.hibernate.dialect.DerbyDialect
你能告诉我我做错了什么吗?我想继续使用相同的jre/java版本,不想升级。
1条答案
按热度按时间1dkrff031#
根据https://en.wikipedia.org/wiki/java_class_file,您遇到的错误是因为您使用的是用Java9编译的derby(
class file version 53.0
)您正在尝试用Java8运行它(class file version 52
)环境。每个java运行时都能够运行字节码来更新其支持的版本。您可以将jdk/jre升级到java9或更高版本,也可以使用与java8兼容的derby