【问题标题】:servlet project exception on server服务器上的 servlet 项目异常
【发布时间】:2011-07-16 11:49:43
【问题描述】:

我的项目在 Eclipse 上运行良好,但是当我进行战争并在服务器上运行时,我给出了这个例外:

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Error allocating a servlet instance
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    java.lang.Thread.run(Thread.java:595)


root cause 

java.lang.UnsupportedClassVersionError: Bad version number in .class file
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    java.security.AccessController.doPrivileged(Native Method)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
    org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
    org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
    java.lang.Thread.run(Thread.java:595)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.

【问题讨论】:

    标签: jsp tomcat jakarta-ee servlets


    【解决方案1】:

    您使用服务器不支持的 JDK 版本编译了类。

    要么看看你是否可以为你的两个开发者获得匹配的 JDK。环境和您的服务器,或者在构建以针对您的服务器的 Java 版本时尝试使用javac-target 选项。

    【讨论】:

      【解决方案2】:

      JVM 只能运行使用相同版本或更早版本的 Java Compiler 编译的类文件。

      UnsupportedClassVersionError 如果您使用较低版本的 JVM 运行使用较高版本 Java 编译器编译的类文件,则会发生。

      因此,请确保您的 tomcat 使用的 JDK 版本高于用于编译您的 war 中的 .class 文件的 JDK 版本。

      你既不能将tomcat服务器的JDK升级到最新版本,也不能使用与tomcat编译源码和构建war相同版本的JDK

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-12
        • 1970-01-01
        • 2015-03-20
        • 2018-02-12
        • 1970-01-01
        相关资源
        最近更新 更多