2016-01-15 201 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