2016-01-15 11 views
5

Próbuję uzyskać połączenie JDBC z PostgreSQL. Wersja zależna wersji sterownika to: 9.4-1204-jdbc42 i wersja Postgres to 9.5.0. Poniżej znajduje się stos:Nie można uzyskać połączenia JDBC z PostgreSQL

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 

Proszę zasugerować, jaki jest problem?

Odpowiedz

8

"Nieobsługiwana wersja major.minor 52" mówi, że musisz używać java8 i działać w java7 lub niższym.

według https://jdbc.postgresql.org/download.html

9.4-1204-jdbc42 kierowca jest skompilowany w java8.

9.4-1204-jdbc41 to sterownik skompilowany w java7.

9.4-1204-jdbc4 to sterownik skompilowany w java6.

kierowca
+0

Używam jdk8 –

+0

swoją Java Runtime mówi: „nie” :-) –

+0

Ponowne IDE po aktualizacji JDK było potrzebne Chyba :). Wielkie dzięki. Działa teraz :) –

4

PostgreSQL używasz jest zbudowany na Java 1.8, ale nie używasz Java 1.8 - prawdopodobnie używasz Java 1.7

należy uaktualnić do Java 1.8 lub użyć PostgreSQL 9.4.1207 .jre7.jar plik, który współpracuje z Java 1.7 (jak widać here)

+0

Dokumentacja Oracle na temat wersji pliku klasy: http://www.oracle.com/technetwork/java /javase/8-compatibility-guide-2156366.html#A999170 – Mark

Powiązane problemy