检测java时出现一堆at_java程序执行出现好多at

2014-09-25 回答

起初你或许会认为是一个莫名其妙的错误,因为代码根本一点问题的都没有,可运行期间总是报这个错,比较郁闷。

出现could not find the main class.program will exit和java.lang.unsupportedclassversionerror 错误的原因,是因为我们使用高版本的jdk编译的java class文件试图在较低版本的jvm上运行,所报的错误。

因为,高版本的jdk生成的class文件使用的格式,可能与低版本的jdk的.class文件格式不同。这样,低版本的jvm无法解释执行这个.class文件,会抛出could not find the main class.program will exit,java.lang.unsupportedclassversionerror不支持的class版本错误。

这个错误尤其在jdk5与jdk5之前的版本上表现明显。因为,jdk5在java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的jvm无法解释、执行.class文件。即使这个类并没有使用任何jdk5的新元素,但是jdk5生成的.class文件,jdk1.4及其以前的jvm都无法辨认!

在myeclipse-->应用服务器下,指定tomcat5。指定tomcat使用jdk1.4。这样,就全部指定使用jdk1.4来编译和运行程序了。如果全部指定jdk5也是可以的。但是,绝对不能够使用jdk5编译程序,而又在jdk1.4上运行程序,那样将会抛出java.lang.unsupportedclassversionerror不支持的class版本错误。

这种情况下,不论是eclipse生成的war包,还是ant文件生成war包,都使用jdk5编译,就会在运行时出现错误,该应用程序将无法启动。如果你查看tomcat的日志文件,将会看到正是java.lang.unsupportedclassversionerror错误发生了!

其实无非就是版本问题,jdk版本的问题。

解决方法:在eclipse窗口-->首选项-->java-->编译器-->jdk一致性-->编辑器一致性级别,从5.0改到1.4就可以了。

1.6不是很好,你下1.5试试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值