Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

com/mysql/jdbc/Driver : Unsupported major.minor version 52.0

I have this problem when I deploy my war USING mysql-connector-java-6.0.3.jar on a Apache Tomcat/7.0.52 (Ubuntu) JVM: 1.7.0_79-b14 compiled with JDK 1.7

java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0 (unable to load class com.mysql.jdbc.Driver)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2948)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:191)
    com.tdk.callbacks.CallBacksListener.doGet(CallBacksListener.java:45)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

This one when I compile with 1.8

java.lang.UnsupportedClassVersionError: com/tdk/callbacks/CallBacksListener : Unsupported major.minor version 52.0 (unable to load class com.tdk.callbacks.CallBacksListener)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2948)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:745)

and this one with the 1.6:

java.lang.Error: Unresolved compilation problem: 
    Multi-catch parameters are not allowed for source level below 1.7
like image 835
Nunyet de Can Calçada Avatar asked Jul 13 '16 17:07

Nunyet de Can Calçada


1 Answers

The problem is not with compilation. The problem is that you try to run your Tomcat with deployed application using java 7. As your mysql driver and, potentially, your application are compiled with java 8, you have to use java 8 to run Tomcat

like image 130
Nikem Avatar answered Oct 15 '22 05:10

Nikem