我正在尝试使用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 可能是旧的或太新的。
PATH
变量有什么区别? 显示的版本号描述了类文件兼容的 JRE 的版本。
报告的主要数字是:
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 编译器,您可能会收到有关未设置引导类路径的警告。有关此错误的更多信息,请参阅博客文章New javac warning,用于设置不带 bootclasspath 的旧源 。
发生java.lang.UnsupportedClassVersionError
是因为在编译期间 JDK 较高,在运行时期间 JDK 较低。
在 Eclipse 中,我只是转到菜单命令Window - > Preferences - > Java - > Compiler ,然后将 “Compiler compliance level” 设置为 1.6。