当我运行我的项目时,我得到以下异常:
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。
答案 0 :(得分:5)
这是重复的。您使用的类可能是使用Java 1.8编译的,而您的jvm是1.7。这也包括第三方罐子
答案 1 :(得分:2)
请执行以下步骤以查找您的.JRE版本和JDK版本。
java -version
java version" 1.7.0_111" OpenJDK运行时环境(IcedTea 2.6.7)(7u111-2.6.7-2~deb7u1) OpenJDK 64位服务器VM(内置24.111-b01,混合模式)
javac -version
javac 1.6.0_38
你可以发现两个版本都不同。所以,让它们成为通用版本。这将解决您的问题。
答案 2 :(得分:1)
52 = J2SE 8.您仍在使用Java 1.8进行编译(或者您正在使用的某些库使用1.8编译,如@efekctive所指出的那样。)
请发布您正在使用的命令。
答案 3 :(得分:1)
正如@efekctive所说,我的构建使用java 8来构建类。将版本更改回7并按预期工作。谢谢大家。