一尘不染

不支持的major.minor版本51.0(无法加载类org.postgresql.Driver)

java

使用maven创建了一个Web应用程序并将其部署在heroku上。一切正常,但是当我调用使用postgresql-9.2-1002.jdbc4驱动程序的操作时,我得到了:

java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 51.0 (unable to load class org.postgresql.Driver)

我知道问题是我在开发环境上使用jdk
7,而在Heroku上运行的是较低版本(至少是这样)。我的第一个问题是,为什么其他操作仅使用postqresql驱动程序的操作不会给出此错误,所以该应用程序的其余部分仍然可以正常工作?我做的另一件事是下载jdk
6,然后将其添加到我的项目构建路径中,然后将eclipse编译器配置为1.6,但即使如此,我仍然遇到相同的问题。我该如何解决?


阅读 212

收藏
2020-12-03

共1个答案

一尘不染

解决方案是使用为JDK 6编译的数据库驱动程序的副本。

似乎您的应用程序代码没有出现问题,因为您的构建更改有效。(特别是对合规性级别的更改。我认为在(常规)构建路径中添加JDK不会有任何区别。)

但是,当然,这对于数据库驱动程序不会有任何区别……因为您没有进行编译。


但是,根据下载页面,postgresql-9.2-1002.jdbc4应该与Java
6以及7兼容。因此,也许您已经从其他地方获得了JAR …或通过Java从源代码进行编译7目标。

更新 -我可以确认下载站点上的JAR具有一个Driver类,其字节码版本为50.0,而不是51.0。我建议您从那里下载并使用新副本。

2020-12-03