2016-01-15 16 views
5

Sto cercando di ottenere una connessione JDBC a PostgreSQL. La versione del driver in dipendenza è: 9.4-1204-jdbc42 e la versione di Postgres è 9.5.0. Di seguito è riportato lo stack:Impossibile ottenere la connessione JDBC con 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 

Si prega di suggerire qual è il problema qui?

risposta

8

"major.minor non supportato versione 52" indica che è necessario utilizzare java8 e sono in esecuzione in java7 o versioni precedenti.

secondo https://jdbc.postgresql.org/download.html

9.4-1204-jdbc42 è il driver compilato in java8.

9.4-1204-jdbc41 è il driver compilato in java7.

9.4-1204-jdbc4 è il driver compilato in java6.

conducente
+0

sto usando jdk8 –

+0

tua runtime Java dice: "no" :-) –

+0

il riavvio del IDE dopo l'aggiornamento JDK è stato necessario immagino :). Molte grazie. Funziona ora :) –

4

Il PostgreSQL che si sta utilizzando è costruito per Java 1.8, ma non siete in esecuzione Java 1.8 - probabilmente stai usando Java 1.7

effettuare l'aggiornamento a Java 1.8 o utilizzare il postgresql-1207/09/04 file di .jre7.jar che funziona con Java 1.7 (come si può vedere here)

+0

Documentazione di Oracle sulla versione del file di classe: http://www.oracle.com/technetwork/java /javase/8-compatibility-guide-2156366.html#A999170 – Mark

Problemi correlati