当前位置: 首页 > 面试题库 >

java.lang.UnsupportedClassVersionError:.class文件中的版本号错误?

郎睿
2023-03-14
问题内容

当我包含必须从源代码编译的开源库时,出现此错误。现在,网络上的所有建议都表明该代码是在一个版本中编译并在另一版本(旧版本中是新版本)中执行。但是,我的系统上只有一个JRE版本。如果我运行命令:

$ javac -version
javac 1.5.0_18

$ java -version
java version "1.5.0_18"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02)
Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode)

并在Eclipse中检查Java库的属性,我得到 1.5.0_18

因此,我必须得出结论,类本身内部的其他东西引发了异常?那有可能吗?


问题答案:

我了解到这样的错误消息通常是正确的。当无法(按您的想法)想到所报告的错误时,您便开始在另一个领域中寻找问题…仅几小时后才发现原始错误消息的确正确。

由于您使用的是Eclipse,因此我认为Thilo正确。得到此消息的最可能原因是因为您的一个项目正在编译1.6类。如果系统上只有1.5 JRE没关系,因为Eclipse有自己的编译器(不是javac),并且只需要1.5 JRE即可编译1.6类。这可能很奇怪,并且需要取消设置才能允许这样做,但我只是设法做到了。

对于有问题的项目,请检查“ Java编译器”部分的“项目属性”(通常是Alt + Enter)。这是配置为编译1.6,但仅带有1.5 JRE的项目的图像。



 类似资料:
  • 我在Windows7平台上使用JDK1.7.0_03在Eclipse中开发了一个API。当部署在其他Windows7系统上时,它运行良好。 有什么问题和我如何使API与所有系统兼容的帮助吗?

  • 问题内容: 我试图让Cassandra在OS X上运行。运行时,出现以下错误: 通过搜索可以确定,该错误与Java的不兼容版本有关。但是,据我所知,我拥有最新版本的Java: 关于我在做什么错的任何想法吗? 问题答案: 错误的版本号几乎 总是这样, 因为您已经将Java文件编译为具有一个版本的类文件,并尝试使用较早版本运行它。 您需要确定此“ cassandra”正在使用您认为的Java版本。从命

  • 问题内容: 我想知道如何你在那里处理有兴趣 撞版本号 为新版本问题。 如何处理相关文件(如手册页等)中的版本号 该软件是使用gnu工具链构建的,因此可以使用autoconf,automake等并将其用作应用程序的版本号。这样就可以重用信息。 git用作vcs。 一种可能性是在Makefile.am中引入一个 额外的新 目标,该目标执行sed / awk替换所有关联文件中的版本号和日期。该目标可以在

  • 问题内容: 我正在尝试构建一个应用程序,但是它给出了一些错误。我的JDK版本如下: 这是我的错误日志: 问题答案: 发生这种情况是因为在编译时JDK较高,而在运行时JDK较低。 以下是版本列表:

  • 当我试图编译我的GWT应用程序时,我得到的异常值低于异常值。知道吗?提前道谢。

  • 问题内容: 我有一台同时安装了JDK和JRE 6和7的Jenkins服务器。 除了依赖1.7的项目外,所有项目均基于1.6。 我已经将maven pom文件配置为使用来自JAVA_HOME_7环境PATH的Java编译器。 在mvn安装期间,出现以下错误: 我认为这意味着服务器正在使用JRE 1.6。 如何将JRE 1.6与1.7保持在一起,以保持与旧版1.6项目和新版1.7项目的兼容性? 非常感