不支持的 major.minor 版本 52.0(无法加载类)

新手上路,请多包涵

当我运行我的项目时,出现以下异常:

 javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: apache/commons/codec/UtilityUtil : Unsupported major.minor version 52.0 (unable to load class apache.commons.codec.UtilityUtil)

我已经研究并发现如果 java 的版本与运行时和编译时间不同,就会发生这种情况。

我关注了这两个帖子并试图弄清楚我正在使用 java 8 并且运行时有 1.7.: Unsupported major.minor version 52.0 captive portal How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

我已经将编译版本更改为1.7。但仍然存在同样的问题。我不知道为什么。

运行时版本:1.7.0_45 编译版本:1.7.0_80。

原文由 user7637864 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 914
2 个回答

这是一个副本。您正在使用的类可能是用 Java 1.8 编译的,而您的 jvm 是 1.7。这还包括第 3 方罐子

原文由 efekctive 发布,翻译遵循 CC BY-SA 3.0 许可协议

请按照以下步骤找出您的 JRE 版本和 JDK 版本。

JRE检查

java-版本

Java 版本“1.7.0_111”OpenJDK 运行时环境 (IcedTea 2.6.7) (7u111-2.6.7-2~deb7u1) OpenJDK 64 位服务器 VM(构建 24.111-b01,混合模式)

JDK检查

javac-版本

javac 1.6.0_38

你会发现这两个版本是不同的。因此,将它们制作成通用版本。那将解决您的问题。

原文由 RKA 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题