2009-05-18 17 views
2

J'ai développé une application Tomcat en utilisant Tomcat 6 pour les tests. Je l'ai maintenant déployé sur Tomcat 5.5 - lorsque j'appelle la servlet, j'obtiens une erreur qui n'a pas beaucoup de sens pour moi. Est-ce que quelqu'un sait ce qui provoque cette erreur.Erreur avec Tomcat 6 et Tomcat 5.5 Incompatibilité

exception

javax.servlet.ServletException: Erreur allouer une instance servlet 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 (LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run (ThreadPool.java:689) java.lang.Thread.run (Thread.java:595) cause principale

java.lang.UnsupportedClassVersionError: Bad numéro de version dans le fichier .class java.lang.ClassLoader.defineClass1 (native Method) java.lang.ClassLoader.defineClass (ClassLoader.java:620) de java.security.SecureClassLoader .defineClass (SecureClassLoader.java:124) org.apache.catalina.loader.WebappClassLoader.findClassInternal (WebappClassLoader.java:1853) 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 (méthode native) 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)

Répondre

2

Cela a Rien à voir avec Tomcat. L'erreur est provoquée par la différence de version de fichier .class. Il est fort probable que vous avez compilé un fichier .class avec Java6 et que vous avez essayé de l'exécuter sur Java5.

La solution consiste à exécuter tomcat5.5 sur la version la plus récente de Java, ou à simplement recompiler.

1

Je viens de courir à travers cela aussi. Le problème était en fait jsps qui avait été compilé dans Tomcat 6. Donc quand je suis passé à Tomcat 5, ces jsps compilés étaient la cause du problème. La solution consiste à effacer le répertoire de travail.

Toutefois, ce ne serait le problème si vous spécifiez CATALINA_BASE qui a été partagé par Tomcat 6 et 5.