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

UnsupportedClassVersionError-JDK具有相同的版本

蒋向笛
2023-03-14
问题内容

我采用了现有的旧Java代码库,并更改了一个类。我已经重新编译了Java 1.5.0中的代码库。然后,我成功地将此代码部署在Tomcat上。

为了测试我的部署,我向应用程序发送了一条消息,并在更改的类中遇到错误。

为ServletContext资源[/WEB-
INF/ApplicationContext.xml]中定义的名称为’myClass’的bean加载类[com.MyClass]时出错:类文件或相关类的问题;嵌套的异常是java.lang.UnsupportedClassVersionError:(com
/ MyClass)偏移= 6的主要版本错误

我已经检查了已部署的Ear和War的清单文件,并且都具有1.5.0_22-b03。Tomcat实例上的版本是1.5.0。

谁能告诉我为什么我会收到此错误?运行该应用程序的JDK与编译该代码的版本相同。

奇怪的是,唯一出错的类是我修改的类。


问题答案:

似乎您使用高于1.5的Java版本编译了代码。您应该检查是否安装了正确的JREWindow-> Preferences-> Java->
Installed JREs)。

您还应该检查是否将Compiler合规性级别设置为1.5(Window-> Preferences-> Java-> Compiler)。

我假设您正在使用Eclipse …



 类似资料:
  • 我使用了一个现有的、旧的、Java的代码库并更改了一个类。我在Java1.5.0中重新编译了代码库。然后我成功地在Tomcat上部署了这段代码。 为了测试我的部署,我向我的应用程序发送了一条消息,并且我在更改的类中遇到了一个错误。 为ServletContext资源[/WEB-INF/ApplicationContext.xml]中定义的名为“MyClass”的bean加载类[com.MyClas

  • 我试图找到解释这种差异的视频或文本,但没有找到任何能说服我的东西。我才刚刚开始,如果可能的话,我只想专注于IDE。我正在研究JScript(vue)框架,我已经在使用VSCode来实现这一点。 附言:原谅我的英语。我知道这很可怕 坦克

  • 问题内容: 当我在JDK 7及更低版本上使用eclipse neon在ant上编译/运行构建时,出现错误消息。如果我在蚂蚁上将ant和jdk更改为8,我会得到…。 有没有一种方法可以使用Eclipse Neon在JDK 7及更低版本中进行构建?如果进行此升级,是否会牺牲以前的所有更改和发展? 问题答案: Eclipse Neon本身必须使用Java 8运行。 您仍然可以使用较旧的Java版本来运行

  • 问题内容: 我有以下代码来获取地图: 如何打印带有重复键的消息“重复键”? 问题答案: 如何打印带有重复键的消息“重复键”? 使用当前代码,您将收到消息“重复键”,其中包含至少2个实例的列表,这些实例具有与对象相同的值,例如。 如何获得对应的密钥? 到目前为止,还无法获得相应的键,当前从合并功能中获得的实际上是与相同键映射的2个值,这些值需要合并以仅保留对应键的一个值。 您的问题是 Java 9

  • 目前,我有一个类分数,它允许我用三种不同的方式创建分数 对于一个整数,在这种情况下,给定的整数将是分子,分母将设置为1 有2个整数,分子和分母 最后一种方法是解析一个字符串,该字符串必须与REGEX-?\d/[1-9]\d* gcd将尽可能减少生成的分数。 我现在想实现的是,具有相同分子和分母的分数实例具有相同的引用例如。 应该返回true。 我研究了一些关于泛型和边界的章节,但我不确定这是否是我

  • 问题内容: 我有一个项目,其中两个依赖项使用同一库的不同版本。例如,我的项目具有dependency 和dependency 。和都使用通用的库/依赖项,但版本不同。拥有的版本和具有的版本。所以,现在当我添加和在我的项目依赖,有2个版本,在我的项目的。 我期望在运行时由和引用各个版本。但事实并非如此。不知怎的,当我在我的项目运行测试时,使用的,最好应使用(因为在中,明确指定/加)。所以,它打破了执