0

プロジェクトの詳細: JavaBridge を使用してタスクを完了する PHP プロジェクト。このプロジェクトに対する私の更新は、PHP ファイルのみで行われました。

私は今、多くのスレッドを見てきました。Java のコンパイル バージョンは JDK1.6 で、サーバーで実行されている Java のバージョンは次のとおりです。

java version "1.6.0_30"

これがデバイスでローカルに機能することに非常に不満を感じていますが、サーバーで実行すると失敗し、tomacat ログには次のように表示されます。

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)
4

4 に答える 4

0

クラスファイルの1つでこの問題が発生しました。

このことから私が理解したのは、私は Java 7 を使用して war ファイルをビルドし、tomact は Java 6 を使用していたことです。

私は単にJava 7に変更しました:)私のために働き始めました。

于 2014-10-19T11:01:24.007 に答える
0

このスレッドと同様の問題です: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

私がすることは、すべての Java ファイルが同じバージョンでコンパイルされているかどうかを確認することです。そのスレッドによると、バージョン 51 は J2SE 7 です。J2SE 7 に依存するものがないことを確認する必要があります。PHP-Java ブリッジが J2SE 7 でコンパイルされ、残りが JDK 1.6 である可能性があります。

于 2014-07-11T14:35:49.237 に答える