2009-05-18 25 views
2

Tomcat 6を使用してテスト用のTomcatアプリケーションを開発しました。私は今Tomcat 5.5に展開しました。サーブレットを呼び出すと、私には間違いがあります。それは私にはあまり意味がありません。誰もがこのエラーの原因を知っていますか?Tomcat 6とTomcat 5.5の非互換性のエラー

例外

javax.servlet.ServletException:エラーは、サーブレット・インスタンス org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapterを割り当てます。サービス(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) org.apache.coyote.http11.Http11BaseProtocol $ Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) ORG .apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread .runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595) 根本原因

java.lang.UnsupportedClassVersionError:の.classファイルに不正なバージョン番号 java.lang.ClassLoader.defineClass1(ネイティブメソッド) java.lang.ClassLoader.defineClass(ClassLoader.java:620) java.security.SecureClassLoader (WebAppClassLoader.java:875) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:875)org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1330) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209) java.security.AccessController.doPrivileged(ネイティブメソッド) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:874) org.apache.coyote.http11.Http11BaseProtocol $ Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le aderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595)

答えて

2

これは持っています風袋とは関係ありません。このエラーは、.classファイルのバージョンの違いによって発生します。

ほとんどの場合、.classファイルをJava6でコンパイルし、Java5で実行しようとしました。

解決策は、Javaの新しいバージョンでtomcat5.5を実行するか、再コンパイルすることだけです。

1

私はちょうどこれをまた走りました。問題は実際にはTomcat 6でコンパイルされたjspです。そこでTomcat 5に切り替えると、コンパイルされたjspが問題の原因となりました。解決策は、作業ディレクトリをクリアすることです。

ただし、これはTomcat 6と5で共有されているCATALINA_BASEを指定している場合にのみ問題になります。