mcv
mcv

Reputation: 1460

java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0 (unable to load class

Project details: PHP project which uses a JavaBridge to complete a task. My updates to this project have only been with the PHP files.

I have viewed numerous threads now. My compile version of Java is JDK1.6 and the java version running on my server is:

java version "1.6.0_30"

I am terribly frustrated for this works locally on my device but when I run it on the server it fails, the tomacat log provides the following:

java.lang.UnsupportedClassVersionError: com/nlrt/reportgenerator/ReportGenerator : Unsupported major.minor version 51.0 (unable to load class com.nlrt.reportgenerator.ReportGenerator)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2840)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at php.java.bridge.Util.classForName(Util.java:1518)
    at php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445)
    at php.java.bridge.Request.handleRequest(Request.java:458)
    at php.java.bridge.Request.handleOneRequest(Request.java:510)
    at php.java.servlet.PhpJavaServlet.handleLocalConnection(PhpJavaServlet.java:202)
    at php.java.servlet.PhpJavaServlet.handlePut(PhpJavaServlet.java:250)
    at php.java.servlet.PhpJavaServlet.doPut(PhpJavaServlet.java:261)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at php.java.servlet.PhpCGIFilter.doFilter(PhpCGIFilter.java:126)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:701)

Upvotes: 0

Views: 11183

Answers (4)

kishan yadav
kishan yadav

Reputation: 41

This was the same error while executing my project on server,But it right just by changing JDK6 to JDK7.0_51.

Upvotes: 0

Anil
Anil

Reputation: 347

I had this problem with one my class file.

What I understood from this is, I build war file using java 7 and tomact was using java 6.

I simply changed to Java 7 :) Started working for me.

Upvotes: 0

mcv
mcv

Reputation: 1460

Resolved by using the original downloaded version of the JavaBridge that was already deployed and backed up. Unsure if the version I had downloaded locally was J2SE7 but nevertheless this bug went away. :)

Backups are always a lifesaver.

Upvotes: 0

hrgui
hrgui

Reputation: 630

It's a similar problem to this thread: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

What I would do is check and see if all of the java files are compiled with the same version. Version 51, according to that thread is J2SE 7. You need to make sure nothing depends on J2SE 7. It could be possible that the PHP-Java bridge was compiled with J2SE 7, and the rest was on JDK 1.6.

Upvotes: 0

Related Questions