Reputation: 1460
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
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
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
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
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