java.lang.UnsupportedClassVersionError : Bad version number in . 类文件?

标签 java version

当我包含一个必须从源代码编译的开源库时,我遇到了这个错误。现在,网络上的所有建议都表明代码在一个版本中编译并在另一个版本中执行(新旧)。但是,我的系统上只有一个版本的 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.6的类只需要一个1.5的JRE。 这可能很奇怪,需要取消选中设置才能允许这样做,但我设法做到了。

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

enter image description here

关于java.lang.UnsupportedClassVersionError : Bad version number in . 类文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59102411/

相关文章:

未发送 JavaSSL 相互认证证书

Java子级执行祖先的方法

hibernate - java.lang.ClassNotFoundException:org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl $在运行测试中起作用

javascript - WordPress - JS 和 CSS 文件被 301 重定向?

python - Caffe 和 TensorFlow Protobuf - 维护不同的版本

c++ - OpenGL GLSL 着色器版本

java - 使用 Mockito 将模拟对象注入(inject)到声明为测试字段的要测试的对象中不起作用?

java - 在 IntelliJ IDEA 中执行代码分析

java - Erro : MethodHandle. invoke 和 MethodHandle.invokeExact 仅支持从 Android O (--min-api 26) 开始

java - servletcontextlistener 中的 contextInitialized 方法