Domanda

Ho sviluppato un'applicazione Tomcat utilizza Tomcat 6 per il test. Ora ho schierato a Tomcat 5.5 - quando invoco il servlet ottengo un errore che non ha molto senso per me. Qualcuno sa che cosa provoca questo errore.

eccezione

javax.servlet.ServletException: Errore di allocazione di un'istanza 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

java.lang.UnsupportedClassVersionError: numero di versione Bad nel file .class     java.lang.ClassLoader.defineClass1 (metodo natale)     java.lang.ClassLoader.defineClass (ClassLoader.java:620)     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 (metodo natale)     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)

È stato utile?

Soluzione

Questo non ha nulla a che fare con Tomcat. L'errore è causato dalla differenza .class versione del file.

Molto probabilmente, avete compilato un file .class con java6 e si è tentato di eseguire sul Java5.

La soluzione è sia corsa tomcat5.5 sulla versione più recente di Java, o semplicemente ricompilare.

Altri suggerimenti

Ho appena imbattuto in questo anche. Il problema era in realtà JSP che erano stati compilati in Tomcat 6. Così, quando sono passato a Tomcat 5, questi JSP compilati sono stati la causa del problema. La soluzione è quello di cancellare la directory di lavoro.

Tuttavia, questo sarebbe solo il problema se si specifica CATALINA_BASE che è stato condiviso da Tomcat 6 e 5.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top