8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何修复 java.lang.UnsupportedClassVersionError:不支持 major.minor 版本

Philipp Ludwig 1月前

68 0

我正在尝试使用 Notepad++ 作为我的一体化工具编辑、运行、编译等。我已经安装了 JRE,并且已经将路径变量设置为 .../bin 目录。当我在

我正在尝试使用 Notepad++ 作为我的一体化工具编辑、运行、编译等。

我已经 JRE ,并且已经设置了 .../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 的较新版本会生成更详细的异常消息:

java.lang.UnsupportedClassVersionError: com/xxx/yyy/Application 已由较新版本的 Java Runtime(类文件版本 65.0)编译,此版本的 Java Runtime 仅识别最高 61.0 版的类文件版本

我认为这里的问题是关于版本;Java 的某些版本可能太旧或太新。

  1. 我该如何修复它?
  2. 我应该安装 JDK,并将路径变量设置为 JDK 而不是 JRE 吗?
  3. JRE和JDK中的变量 PATH 有什么区别
帖子版权声明 1、本帖标题:如何修复 java.lang.UnsupportedClassVersionError:不支持 major.minor 版本
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Philipp Ludwig在本站《swing》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 显示的版本号描述了类文件兼容的 JRE 版本。

    报告的主要数字是:

    Java SE 22 = 66,
    Java SE 21 = 65,
    Java SE 20 = 64,
    Java SE 19 = 63,
    Java SE 18 = 62,
    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 版本兼容的代码。

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

    javac -target 1.4 HelloWorld.java
    

    使用较新版本的 Java 编译器时,您可能会收到有关未设置引导类路径的警告。有关此错误的更多信息,请参阅博客文章“ 设置没有 bootclasspath 的旧源时出现新的 javac 警告” .

返回
作者最近主题: