解决UnsupportedClassVersionError: Unsupported major.minor version | Java Debug 笔记

解决UnsupportedClassVersionError: Unsupported major.minor version | Java Debug 笔记Java 编译环境和运行环境使用的JDK版本不一致问题。 java.lang.UnsupportedClassVersionError: Unsupported major.minor version

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>

问题

我正在尝试使用 Notepad ++ 作为我的 IDE 工具进行编辑,运行,编译等。

我已经安装了 JRE 环境,并将 path 环境变量设置到 .../bin 目录中。

当我在 Notepad ++ 中运行 Hello world 程序时,出现了以下错误信息:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

我认为这是关于版本的问题:Java 的版本可能太旧或者太新。

  1. 我如何解决它?
  2. 我应该安装 JDK,然后将 path 环境变量设置为 JDK 的而不是 JRE 的吗?
  3. JDKJREpaht 环境变量有什么区别?

回答

回答1

下面显示的版本号描述了 class 文件兼容的 JRE 版本。

对应关系如下:

(来源:维基百科)

Java SE 17 = 61,
Java SE 16 = 60, 
Java SE 15 = 59,
Java SE 14 = 58,
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

要解决实际问题,您应该尝试使用 Java JRE 的较新版本来运行 Java 代码,或者在 Java 编译时指定目标参数,告诉编译器创建与之兼容的代码。

例如,为了生成与 Java 1.4 兼容的 class 文件,请使用以下命令行:

javac -target 1.4 HelloWorld.java

使用较新版本的 Java 编译器,您您可能会收到有关未设置 bootstrap 类路径的警告。更多关于此错误信息的说明,请参考文章:New javac warning for setting an older source without bootclasspath

回答2

java.lang.UnsupportedClassVersionError 之所以会发生这种情况,是因为在编译时有一个较高版本的 JDK,而在运行时有一个较低版本的 JDK

Project -> Properties -> Java Compiler,启用项目设置,然后选择 Compiler Compliance Level1.71.61.5,再构建并测试您的应用程序。

总结

译者补充

这个问题的根本在于是您的 Java 编译时和 Java 运行时的 Java版本不一致导致的,即:JDK 和 JRE 的版本不一致。

为了避免这种问题,最好确保编译环境和运行环境使用的版本完全一致。

翻译内容来源Stack Overflow:stackoverflow.com/questions/1…

今天的文章解决UnsupportedClassVersionError: Unsupported major.minor version | Java Debug 笔记分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21794.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注