Java程序由更新版本的JRE编译,但我有最新版本

Jos*_*chu 3 java minecraft jre

我正在尝试为我的朋友设置 Minecraft 服务器,每次尝试启动它时都会收到以下错误

Error: LinkageError occurred while loading main class net.minecraft.bundler.Main
    java.lang.UnsupportedClassVersionError:
    net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0),
    this version of the Java Runtime only recognizes class file versions up to 55.0
Run Code Online (Sandbox Code Playgroud)

(复制并粘贴)

我在 Ubuntu 上有可用的当前 JRE(版本 11.0.15.10)。我尝试删除服务器上所有版本的 JRE,然后仅重新安装最新版本,但出现相同的错误。我什至将整个服务器从 Ubuntu 18 更新到 Ubuntu 20。非常感谢任何帮助。

Lev*_*_Up 5

从您的错误中您必须知道 Java 17 = 类文件版本 61.0 Java 11 = 类文件版本 55.0

因此,您需要安装 Java 17。默认情况下,Ubuntu 有此命令sudo apt install default-jre,它将在您的系统上安装某些版本的 JRE。现在,因为您想要的是 Java 17,所以您可以尝试执行sudo apt install openjdk-17-jre-headless. 如果由于它不在 Ubuntu 的存储库中而导致错误,您可以查看类似这样的教程来手动安装它: https: //techviewleo.com/install-java-openjdk-on-ubuntu-linux/

您的系统中已经有 Java 11。要切换您需要的版本:sudo update-alternatives --config java您必须选择具有正确 JVM 的行号。

祝你们好运!