本来运行正常的程序突然出现这种异常,的确很令人费解。无论ECLIPSE重新编译程序还是重起Tomcat都无济于事,错误的关键词:internal error;javax.servlet.ServletException;java.lang.UnsupportedClassVersionError;Unsupported major.minor version 49.0。
经过排查,可以肯定的原因是:JDK版本冲突,使用了高版本(1.5)的JDK编译生成class,而使用低版本(1.4)的java来运行。对症下药,只要确保以下几点即可解决问题:
1. 系统安装的JDK版本
JAVA -version 查看一下。重新检查环境变量:希望使用的Java目录放在前面,尤其是不要让oracle之类目录的干扰,oracle 10 默认的是1.5版本,常常会出问题。ClassPath 包含当前目录。
2. ECLIPSE的JDK版本
Windows-->Preferences在弹出的窗口中选择java-->compiler在右上方Compile compliance level:1.4
3. Tomcat对应的版本
如果装了Eclipse的Tomcat插件,Windows-->Preferences在弹出的窗口中选择TOMCAT--> JVM Setting,最上方的JRE选择1.4。如果没有,到JAVA--> installed JREs中添加目录。确保ClassPath 包含正确的版本目录%JAVA_HOME%\jre\lib\rt.jar;%JAVA_HOME%\lib\tools.jar; 当然,前提是%JAVA_HOME%是对的。
4. 清缓存
前面几步基本都不会有问题。最重要的还是要清除以前编译过的Class,因为即便修改了配置,Tomcat默认也不会覆盖已经生成的Class,很令人郁闷。%Tomcat_HOME%\work\Catalina\localhost目录下找找看,把自己的工程删掉,重起Tomcat即可。
分享到:
相关推荐
在Java开发过程中,经常会在部署或运行时遇到`java.lang.UnsupportedClassVersionError`错误。该错误通常发生在类文件版本与JVM(Java虚拟机)版本不匹配的情况下。本文将详细介绍该错误产生的原因、如何诊断问题...
### java.lang.UnsupportedClassVersionError问题的解决方法 在开发Java应用程序的过程中,经常会遇到与JDK版本不兼容的问题,其中一种常见的异常就是`java.lang.UnsupportedClassVersionError`。该错误通常发生在...
在使用MyEclipse进行Java开发的过程中,可能会遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`这样的错误提示。这种错误通常发生在编译器版本与实际使用的JVM版本不匹配的情况下...
java.lang.UnsupportedClassVersionError 是一种不支持的类版本错误,指的是在程序中 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出的异常。 33. java.lang...
- **`java.lang.UnsupportedClassVersionError`**:当JVM版本不支持类文件版本时抛出。 - **`java.lang.VirtualMachineError`**:当JVM出现严重错误时抛出,如内存损坏。 了解并掌握这些异常及其处理方法对于编写...
6. **java.lang.UnsupportedClassVersionError**: 如果编译的类文件版本高于正在运行的JVM版本,就会出现这个错误。确保JVM与编译器版本兼容。 7. **java.lang.VerifyError**: 验证器在类文件加载期间发现内部不...
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass...
java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver: Unsupported major.minor version 51.0 ``` 这里指出了错误的具体原因:尝试加载的类文件`org.openqa.selenium.WebDriver`是由Java 9...
- **`java.lang.UnsupportedClassVersionError`**:类版本不受支持时抛出。 ### 异常处理策略 针对以上提到的各种异常,合理的异常处理策略非常重要。以下是一些基本的原则: - **预防优先**:尽可能地预防异常的...
* java.lang.UnsupportedClassVersionError: Bad version number in .class file + 解决方案:检查 Java 的版本是否正确,是否存在版本不兼容的问题,尝试使用 compatible 的 Java 版本来解决问题。 四、JSP 异常...
java.lang.UnsupportedClassVersionError: org/apache/catalina/authenticator/FormAuthenticator : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang....
- **`UnsupportedClassVersionError`**:不受支持的类版本错误。 - **`VerifyError`**:验证错误。 - **`VirtualMachineError`**:虚拟机错误。 了解并掌握这些异常的含义及其处理方法对于编写健壮可靠的Java应用...
在使用MyEclipse进行Java开发时,用户可能会遇到各种各样的问题,其中较为常见的一个问题是与JDK版本不兼容导致的`java.lang.UnsupportedClassVersionError`错误。本文将详细介绍如何解决此问题,并提供具体的步骤来...
hadoop jar wc.jar com.atguigu.mapreduce.wordcount.WordCountDriver /user/atguigu/ /user/atguigu/output报如下错误:Exception in thread "main" java.lang.UnsupportedClassVersionError: ...
29. **不支持的类版本错误:UnsupportedClassVersionError** - Java虚拟机不支持类文件的版本。 30. **验证错误:VerifyError** - 类文件的验证器检测到问题时抛出。 31. **虚拟机错误:VirtualMachineError** - ...
`java.lang.UnsupportedClassVersionError`: Bad version number in .class file** - **异常描述**:类文件版本与JVM版本不兼容。 - **原因分析**:编译时使用的JDK版本高于运行时的JDK版本。 - **解决方案**: -...
在使用JUnit/StrutsTest时,可能会遇到java.lang.UnsupportedClassVersionError: junit/framework/TestListener (Unsupported major.minor version 49.0)错误。 解决方法:根据JDK版本选择合适的JUnit版本。如果...
- **问题描述**:在部署或编译项目时遇到`java.lang.UnsupportedClassVersionError: Bad version number in .class file`异常。 - **解决方案**: - 检查当前使用的JDK版本是否与项目编译时所用的JDK版本一致。 - ...
**不支持的类版本错误**:`UnsupportedClassVersionError` - **定义**:当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 - **示例**:类文件版本过...