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

问题:

我试图使用Notepad++作为我的一体化工具编辑,运行,编译等。
我已经安装了JRE,并且我已将路径变量设置到… / bin目录。
当我在Notepad ++中运行我的“Hello world”时,我收到以下消息:
class=”lang-none prettyprint-override”>

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,并将我的路径变量设置为JDK而不是JRE?
  3. JRE或JDK中的PATH变量有什么区别?

回答:

显示的版本号描述了类文件兼容的JRE的版本。
报道的主要数字是:
class=”lang-none prettyprint-override”>

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

(来源:Wikipedia
要解决实际问题,您应该尝试使用较新版本的Java JRE运行Java代码,或者指定Java编译器的目标参数,指示编译器创建与早期Java版本兼容的代码。
例如,为了生成与Java 1.4兼容的类文件,请使用以下命令行:
class=”lang-none prettyprint-override”>

javac -target 1.4 HelloWorld.java

使用较新版本的Java编译器,您可能会收到关于引导类路径未设置的警告。有关此错误的更多信息,请参阅博客帖子New javac warning for setting an older source without bootclasspath

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

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

76 − = 72