当前位置: 首页 > 知识库问答 >
问题:

为什么最新的jre不会运行用旧版本jdk编译的jar?

慕佑运
2023-03-14

我已经使用VsCode从Java项目中创建了一个Jar文件,并且在我的pc中工作得很好。

我试着用一台没有Java的笔记本电脑来运行这样的Jar;所以我刚刚下载并安装了最新版本的JRE(https://www.java.com/es/download/ie_manual.jsp)因为这是运行的唯一要求。罐子

但是,当我尝试在这个Separate笔记本电脑中运行Jar时,我收到一条毫无意义的错误消息,因为我正在使用旧版本的JDK创建一个Jar,并使用最新的JRE执行它,它应该可以工作。

我的JDK版本是这样的:11.0.12(我得到的输出与“java-version”和“javac-version”相同)

我在另一台电脑上的Jre版本是:“1.8.0\u 321”,这是最新版本。

我得到的错误如下:由于版本不兼容而导致的错误

是否有人遇到此错误?这两个操作系统都是Windows 10,在谷歌上搜索特定错误时,我只会得到表示Java具有向后兼容性的解决方案,以实现。bat,下载JDK并从那里开始工作。但我不明白为什么最新的JRE不能运行较旧版本的JDK(嵌入了JRE和编译器)。

共有1个答案

黎同
2023-03-14

Blockquote我在另一台电脑上的Jre版本是:“1.8.0\u 321”,这是最新版本。

1.8版本(JDK 8)不是最新版本。它是2014年的旧版本。JDK 11是2018年的较新版本。最新版本是03.2022年的JDK 18。

在这里,您可以从OpenJDK下载JDK 18:https://jdk.java.net/18/

这里来自甲骨文:https://www.oracle.com/java/technologies/downloads/

还请注意,自JDK 9以来,“JRE”(Java Runtime Environment)和“JDK”(Java Development Kit)之间不存在分离。现在只有JDK了。

 类似资料: