0

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)
mcv
  • 1,380
  • 3
  • 16
  • 41

4 Answers4

0

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.

Community
  • 1
  • 1
hrgui
  • 590
  • 2
  • 5
  • Yeah I thought that but I never touched it since the last time I had it working. How do I tell if the JavaBridge.war is complied in J2SE 7? – mcv Jul 11 '14 at 14:43
  • Just to note I never made any changes in my recent deploy of PHP files either. These files have remained untouched as far as I can tell. – mcv Jul 11 '14 at 14:44
  • What are you using for your IDE? It could possibly be your IDE had compiled things in J2SE 7. – hrgui Jul 11 '14 at 14:46
  • Nope my IDE as stated above was set to the JDK which I configured. Since JavaBridge was downloaded it could be the file downloaded was J2SE7. I used a copy of a the back up downloaded one and it resolved the issue. – mcv Jul 23 '14 at 15:47
0

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.

mcv
  • 1,380
  • 3
  • 16
  • 41
0

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.

Anil
  • 337
  • 2
  • 10
0

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

kishan yadav
  • 41
  • 1
  • 11