我开发使用Tomcat 6用于测试的Tomcat应用程序。我现在它部署到Tomcat 5.5 - 当我调用Servlet我得到一个错误,没有多大意义了我。有谁知道是什么原因导致这个错误。

例外

javax.servlet.ServletException:错误分配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) 根源

因为java.lang.UnsupportedClassVersionError:在.class文件错误版本号     java.lang.ClassLoader.defineClass1(本机方法)     需要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(本机方法)     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)

有帮助吗?

解决方案

这无关和Tomcat。该错误是由.class文件版本差异而引起的。

最有可能的,你已经编译的Java6 .class文件,并尝试在Java5中运行它。

该解决方案是基于Java的较新版本或者运行TOMCAT5.5,或者只是重新编译。

其他提示

我只是碰到这种跑了。问题是实际上是已经在Tomcat中6被编译的JSP所以,当我切换到Tomcat 5,这些编译的JSP是问题的原因。解决的办法是清除工作目录。

然而,这只能是问题,如果要指定其通过的Tomcat 6和5共享CATALINA_BASE。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top