今天给一个系统网站做servlet修改,遇到java.lang.UnsupportedClassVersionError:错误,详细内容报错如下:
java.lang.UnsupportedClassVersionError: com/xxxxxx/xxxx/xxx/xxx(Unsupported major.minor version 49.0)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:539)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
初遇此事时还以为只是JDK版本问题,用JDK1.4编译后此错误依然存在,上Google搜索了下,方法有两种:1.改为jdk1.5编译,1.5运行
2.copy jdk1.5的tools.jar 到Tomcat中替换tools.jar文件
第一种看来不行,人家网还在上面挂着呢,好像不可能给你改JDK
第二种解决办法,到是试了,但TOMCAT里根本就没找到tools.jar,好像只在jDK里存在。
现在问题依然存在,望过来人指点一二。
------解决方法--------------------------------------------------------
低版本的Jre运行高版本JDK编译的类
肯定会有上面的错误
确定一下 运行tomcat的JDK的具体版本
在本地用相同版本的JDK编译你的 servlet 应该就可以了
------解决方法--------------------------------------------------------
编译的版本和运行的版本不兼容
------解决方法--------------------------------------------------------
--确定一下 运行tomcat的JDK的具体版本,在本地用相同版本的JDK编译你的 servlet 应该就可以了
interpb(曾曾胡,深怕情多累美人!!!) 已经给出具体的解决方法。
你知道就改!