`
woshixushigang
  • 浏览: 576329 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

类编译错误

阅读更多

使用MyEclipse 6.5,在组织好测试用例之后,发现Java Compiler -> Compiler compliance level是5.0。之前一直在使用5.0的级别进行编译运行。当我切换Compiler compliance level到6.0以后,重新编译工程,运行测试用例,抛出异常:

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:425)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

从第一行“java.lang.UnsupportedClassVersionError: Bad version number in .class file”,它说在类文件中发现了错误的版本号,我以为是因为启动了Project -> Build Automatically自动编译,每次编译没有修改类路径下类文件的版本号,于是禁用了Build Automatically,删除WebRoot\WEB-INF\classes下类文件,手动指定Compiler compliance level为6.0,重新编译,生成了类文件,再重新执行程序的时候,依然是上面的异常。

仔细琢磨了一下,原来MyEclipse 6.5的JRE是5.0的,虽然我设置了Compiler compliance level为6.0,其实依然是再5.0的JRE下进行编译的。

打开Installed JREs,重新Add一个JRE,指定一个JRE路径,使用自己安装的JDK 6.0,也就是JRE 6的环境进行编译,这时再运行测试用例,就能正常编译执行了。

 

 

========================================================================================

 

有时候,在MyEclipse运行application程序时会呈现如下过错:
java.lang.UnsupportedClassVersionError: Bad version number in .class file
造成这种过错的原由是ni的支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的.
那么如何解决上面的问题呢?
措施显而易见:把它们的JDK版本改成一致.
步骤如下:
1.Window --> Preferences -->Java --> compiler中的compiler compliance level对应的下拉菜单中选择JDK版本.
2.Window --> Preferences -->MyEclipse --> Servers -->Tomcat --> Tomcat n.x -->JDK中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK版本(必需与步骤1中的JDK版本一致).
如果还是没有解决,不用焦急,因为有些MyEclipse版本自带有JDK版本,所以也要将它改过来.
3.Window --> Preferences -->Java -->Installed JRES,然后在右边选择与步骤1和2版本一致的JDK版本,如果没有,可以自身添加.然后选中就可以了.

分享到:
评论

相关推荐

    delphi编译错误信息手册(中文版)

    《Delphi编译错误信息手册(中文版)》是一份非常重要的参考资料,它详细记录了在使用Delphi编程时可能会遇到的各种编译错误及其解决方法。Delphi是一款强大的Object Pascal集成开发环境,由Borland公司(现...

    c语言常见编译错误汇总

    C 语言编译错误大全 C 语言是一种高效、灵活、portable 的编程语言,但是在编译过程中可能会出现各种错误。这些错误可以分为三类:致命错误、一般错误和警告。理解这些错误的原因和解决方法对于编程人员来说是非常...

    Mysql生成的实体类编译出错1751

    ### MySQL实体类编译错误1751解析与解决方案 #### 背景介绍 在进行MySQL数据库开发的过程中,有时会遇到实体类编译时出现错误1751的情况,表现为“错误 175:指定的存储区提供程序在配置中找不到,或者无效”。...

    常见的vc编译错误

    ### 常见的VC编译错误解析 在VC++编程过程中,遇到各种编译错误是在所难免的,尤其对于初学者而言,了解并掌握如何处理这些错误是至关重要的。下面将详细介绍文中提及的一些常见编译错误及其解决方法。 #### 1. `...

    Flex编译错误码总结

    Flex编译错误码总结 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。在开发过程中,我们可能会遇到各种编译错误,这些错误代码可以帮助开发者理解和解决遇到的问题。以下是对Flex...

    和利时编程软件 程序编译错误与警告说明.rar

    编译错误和警告是编程过程中常见的两类问题。错误通常是因为违反了编程语言的语法规则或逻辑错误导致的,它们会阻止代码正常编译,因此程序无法运行。而警告虽然不会阻止编译过程,但它们提示开发者代码可能存在潜在...

    Turbo C 编译错误一览

    然而,初学者在使用过程中可能会遇到各种编译错误,这些错误往往源于语法错误、类型不匹配、资源冲突等问题。本篇文章将详细讲解 Turbo C 中常见的编译错误及其解决方案。 1. **语法错误**:这是最常见的错误类型,...

    关于JAD的反编译错误集

    而"关于JAD的反编译错误集"这个主题则聚焦于将JAD文件转换回源代码(即反编译过程)时遇到的问题以及如何解决这些问题。 反编译是将已编译的二进制代码转换回源代码的过程,这对于理解不透明的库或分析已有的软件...

    TC_2.0编译错误大全.doc

    在TC中,编译错误主要分为三类:致命错误、一般错误和警告。每种类型的错误都有其特定的含义和处理方式。 **致命错误** 是编译过程中最严重的问题,导致编译过程无法继续。例如: 1. **Bad call of in-line ...

    最常见的VC++编译错误信息_fatal_error

    这是一个常见的编译错误,原因是类B对类A中的同名函数f1的重载仅根据返回值或调用约定上的区别。解决方法是检查函数的重载是否正确。 14. Error C2660:'SetTimer' : function does not take 2 parameters 这是一...

    c语言中常见编译错误信息

    C语言中常见编译错误信息可以分为三类:致命错误、一般错误和警告。下面将对这三类错误信息进行详细的解释和分析。 致命错误包括Bad call of in-line function、Irreducible expression tree和Register allocation ...

    KEIL编译错误信息表[参考].pdf

    KEIL 编译错误信息表可以分为以下几大类: 1. 内存溢出错误(error 1: Out of memory) KEIL 编译器在编译过程中需要分配内存来存储编译结果,如果编译器分配的内存不足,可能会导致内存溢出错误。 2. 语法错误...

    最常见的16种VC编译错误

    在使用VC进行程序开发时,经常会遇到各种编译错误,这些错误可能导致项目无法正常编译或运行。本文将详细解析最常见的16种VC编译错误,并提供相应的解决策略。 1. **未定义标识符**:当编译器找不到声明的变量、...

    编译出错可以参考本文

    ### 编译错误知识点解析 #### 一、错误概述 在进行软件开发的过程中,经常...通过以上分析,我们可以更好地理解和解决“fatal error C1083: Cannot open precompiled header file”这类编译错误,从而提高开发效率。

    VC6中MFC常见编译错误

    除了这两个错误,还有许多其他可能的编译和链接问题,如内部编译错误C1001。这类错误通常是由于函数声明时遗漏了参数列表导致的,解决方法是在函数名称后面加上()`,使函数声明完整。 对于VC++的错误消息,开发者...

    Delphi编译错误中文手册

    《Delphi编译错误中文手册》是一份专为Delphi开发者设计的重要参考资料,它详尽地解释了在使用Delphi编程过程中可能遇到的各种编译错误,帮助开发者快速定位问题并找到解决方案。Delphi是一款强大的Windows应用程序...

    VC 常见编译错误

    在编程过程中,尤其是在使用Visual C++ (VC) 进行开发时,我们经常会遇到各种编译错误。这些错误可能是由于语法错误、库依赖问题、配置设置不正确或是其他原因导致的。下面,我们将针对给定文件中提到的几个常见VC...

    C语言教案及编译错误说明

    《C语言教案及编译错误说明》是一本由谭浩强主编、在清华大学出版社出版的教材,主要针对C语言的学习者,尤其是初学者。该教材的第三版详细讲解了C语言的基础知识,并且包含了丰富的课程设置,旨在帮助学生系统地...

    delphi编译错误中文手册

    在Delphi编程中,编译错误是开发过程中常见的问题,这些错误信息可以帮助开发者理解并修复代码中的问题。以下是一些Delphi编译错误的详细解释: 1. **Cannot initialize thread local variables**:线程局部变量是...

Global site tag (gtag.js) - Google Analytics