我正在try 使用Notepad++作为我的一体式工具编辑、运行、编译等.

我已经安装了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. JRE和JDK中的PATH变量有什么不同?

推荐答案

显示的版本号描述了类文件兼容的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

(来源:Wikipedia)

要解决实际问题,您应该try 使用较新版本的Java JRE运行Java代码,或者为Java编译器指定目标参数,以指示编译器创建与早期Java版本兼容的代码.

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

javac -target 1.4 HelloWorld.java

使用较新版本的Java编译器,您可能会收到有关未设置 bootstrap 类路径的警告.有关此错误的更多信息可在博客帖子100中找到.

Java相关问答推荐

使用Java使用fabric.io获取当前部署名称

Listview—在Android Java中正确链接项目时出错

如何在运行时动态创建表(使用Java、JPA、SprringBoot)

通过移动一个类解决了潜在的StubbingProblem.它怎麽工作?

在Java 17中使用两个十进制数字分析时间时出错,但在Java 8中成功

尽管通过中断请求线程死亡,但线程仍将继续存在

在向WebSphere中的文档添加元素时iText挂起

Domino Designer 14中的保存代理添加了重影库

如何在不删除Java中已有内容的情况下覆盖文件内容?

Instancio未在日志(log)中显示测试失败消息

在Oracle JDBC连接中,连接失效和身份验证失效是什么意思?

如何配置空手道以使用FeignClient或RestTemplate代替ApacheHttpClient

有谁能帮我修一下这个吗?使输出变得更加整洁

如何获得凌空cookies ,并设置它在下一个请求- android

从泛型枚举创建EnumMap

视图被推出线性布局-Android

如何调整JButton的大小以适应图标?

Win32函数的JNA绑定DwmGetColorizationColor返回E_INVALIDARG错误

如何使用Java对随机生成的字母数字优惠券代码进行过期设置

我们可以在方法中声明接口吗?