初遇 java.lang.UnsupportedClassVersionError: unsupported major.minor version 49.0

gggggame 2007-01-12 04:19:30
今天给一个系统网站做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里存在。

现在问题依然存在,望过来人指点一二。






...全文
2324 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
haming 2010-05-30
  • 打赏
  • 举报
回复
jian fe
AN_alpha 2009-03-01
  • 打赏
  • 举报
回复
在高版本JDK中编译的类文件在低版本JDK中运行就有这个问题,其实我电脑里装的就一个JDK,1.6版本的不应该出现这个问题的,后来发现oracle里有自带的JDK 1.3版本并且在环境变量path里oracle的jdk放到了自己安装1.6 JDK前面,所以在cmd命令窗口打javac、java运行的都是oracle里的jdk。我编译是在eclipse中编译,而我运行是在cmd窗口敲命令运行的所以,eclipse中用的是JDK 1.6而命令行窗口用的是JDK1.3所以才会出现这样的问题。
网友们是不是遇到跟我同样的问题呢。
gggggame 2007-01-15
  • 打赏
  • 举报
回复
搞定了,16:45:06那位兄弟对不起了,才结完!你要早进来会就有得分了!
常遇道 2007-01-15
  • 打赏
  • 举报
回复
还是重新在高版下编译一次,再运行就可以了。
gggggame 2007-01-15
  • 打赏
  • 举报
回复
看出来,还是自己不够细心!
哎,基本问题还是得自己来搞!也谢谢大家帮忙!
寒山石 2007-01-13
  • 打赏
  • 举报
回复
--确定一下 运行tomcat的JDK的具体版本,在本地用相同版本的JDK编译你的 servlet 应该就可以了

interpb(曾曾胡,深怕情多累美人!!!) 已经给出具体的解决方法。

你知道就改!
gggggame 2007-01-13
  • 打赏
  • 举报
回复
编译的版本和运行的版本不兼容
这我也知道
hubinlin 2007-01-13
  • 打赏
  • 举报
回复
我所能做的,就是帮你顶一下
hbwhwang 2007-01-12
  • 打赏
  • 举报
回复
编译的版本和运行的版本不兼容
interpb 2007-01-12
  • 打赏
  • 举报
回复
低版本的Jre运行高版本JDK编译的类

肯定会有上面的错误


确定一下 运行tomcat的JDK的具体版本

在本地用相同版本的JDK编译你的 servlet 应该就可以了

chszs 2007-01-12
  • 打赏
  • 举报
回复
没遇到过,搞不定。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧