2016-01-15 122 views
5

我想获得与PostgreSQL的JDBC连接。依赖项中的驱动程序版本为:9.4-1204-jdbc42和Postgres版本为9.5.0。以下是堆栈:无法获得与PostgreSQL的JDBC连接

Caused by: java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at org.springframework.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:127) 
    at com.biginfolabs.ipmonitor.core.config.HibernateConfiguration.dataSource(HibernateConfiguration.java:41) 
    at com.biginfolabs.ipmonitor.core.config.HibernateConfiguration$$EnhancerByCGLIB$$a2cde1cc.CGLIB$dataSource$2(<generated>) 
    at com.biginfolabs.ipmonitor.core.config.HibernateConfiguration$$EnhancerByCGLIB$$a2cde1cc$$FastClassByCGLIB$$17817301.invoke(<generated>) 
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) 
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:326) 
    at com.biginfolabs.ipmonitor.core.config.HibernateConfiguration$$EnhancerByCGLIB$$a2cde1cc.dataSource(<generated>) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166) 
    ... 49 more 

请建议这里有什么问题?

回答

8

“不支持的major.minor版本52”表示您必须使用java8并且运行在java7或更低版​​本中。根据https://jdbc.postgresql.org/download.html

9.4-1204-jdbc42

在java8编译驱动程序。

9.4-1204-jdbc41是在java7中编译的驱动程序。

9.4-1204-jdbc4是在java6中编译的驱动程序。您正在使用

+0

我使用jdk8 –

+0

您的Java运行时.jre7.jar文件说:“不” :-) –

+0

重新启动需要JDK更新后我猜IDE :)。非常感谢。它现在可以工作:) –

4

PostgreSQL的驱动程序内置的Java 1.8,但你没有运行的Java 1.8 - 也许你正在运行的Java 1.7

要么升级到Java 1.8或经常使用PostgreSQL,1207年9月4日这与Java 1.7工作(因为你可以看到here

+0

有关类文件版本的Oracle文档:http://www.oracle.com/technetwork/java /javase/8-compatibility-guide-2156366.html#A999170 – Mark