解决办法:
1. java -version 看显示的JDK版本
2.path查看所有的路径设置(可以在所有路径中使用java关键词进行搜索),如:本人IBM笔记本,自动安装jdk1.4,c:/Windows/system32下有java.exe等命令。在控制面板:删除和添加程序中找到并删除即可。
3. 查看注册表,修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft下的关于1.4的jre和jvm的路径信息改为1.5的jdk的即可。
英文介绍(转载):
Each java class has a version stamp, older versions have lower numbers. The JVM is backward compatible, so older classes also run in a newer JVM. Version ranges are as follows:
Java 1.1 platform: 45.3-45.65535
Java 1.2 platform: 45.3-46.0
Java 1.3 platform: 45.3-47.0
Java 1.4 platform: 45.3-48.0
Java 5 class files are stamped with 49.0, and the JVM is also backward compatible. So, a 1.3 class file will run in a 1.5 JVM, but not the other way round. That's the reason for the original problem. None of us would be able to run Struts in an 1.4 or 1.5 JVM if it were otherwise, as the binaries are 1.3 versions, IIRC. Apart from that, Sun has been very careful when it comes to JVM version compatibility, much more than in other parts,
Serialization would be a prominent example here. IIRC there were no changes to the class format in 1.2 and 1.3, possibly including 1.1 even. The changes made in 1.5 were mostly required by the extended type system (Generics | 'type erasure'). Another aspect of backward compatibility is the usage of features in the Foundation Classes; this lib has steadily grown over the years. If a class files has dependencies on other
classes only available in a more recent version, trying to do so will end up in a ClassNotFound exception, but thats just what is to be expected. An example for that would be Tomcat 5.5: normally, it requires Java 5, but you can install a compatibility package that provides the missing features and makes it run in a 1.4 setup.
解决Unsupported major.minor version 49.0问题(转)
最新推荐文章于 2021-08-31 20:29:28 发布
本文介绍了Java虚拟机(JVM)版本与Java类文件版本之间的兼容性问题。不同版本的JVM如何运行不同版本的Java类文件,以及为何某些类文件无法在旧版JVM上运行的原因。此外还探讨了Sun公司在确保JVM版本兼容性方面所采取的措施。
1万+

被折叠的 条评论
为什么被折叠?



