我代码用的好好的,但是不知道什么原因就出下面这个错误javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)
root cause java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:869)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)谁知道是怎么回事?

解决方案 »

  1.   

    不支持的类版本?
    是不是你的WEB容器换了。。
      

  2.   

    JVM版本变了 这个事不可能的
    我这个就是运行好好的,不知道什么时候再一运行就出这个错!
      

  3.   

    环境变量设置有问题了
    运行下cmd敲下java -version看看就知道了
      

  4.   

    JDK版本问题
    java.lang.UnsupportedClassVersionError: Bad version number in .class file 
    你可以把你的项目源文件重新编译下,
    右击->properties->java compilering重新设置下jdk版本,让编译器重新编译下,再运行试试
    建议最好使用1.5或者更高版本!
      

  5.   

    你用的eclipse吧?
    eclipse可以设置project的jdk
    也要设置它的complier
    比如你的代码里用到jdk1.6新特性但是你的compiler设置的等级是1.5
    那么运行的时候就会出现.class bad version
    设置在windows ---> preferences----> java -----> compiler
    设置compiler compliance level为1.6就OK了
      

  6.   

    会不会有时用的tomcat5,有时用的tomcat6,
      

  7.   

    jdk的版本不对,eclipse可以设置project的jdk 
    也要设置它的complier 
    比如你的代码里用到jdk1.6新特性但是你的compiler设置的等级是1.5 
    那么运行的时候就会出现.class bad version 
    设置在windows ---> preferences----> java -----> compiler 
    设置compiler compliance level为1.6就OK了
      

  8.   

    jdk的版本,你是不是有多个jdk,将这个项目不用的jdk移除掉,重构下。