OpenJDK 11 無法執行 Java 11 JAR
我一直試圖弄清楚為什麼我的 OpenJDK 11 安裝無法執行在類級別 55 編譯的 JAR 文件。我什至甚至從我的系統中完全刪除 Java 並重新安裝。我正在執行 Ubuntu 18.04.1 LTS。以下是我安裝 OpenJDK 11 的步驟:
sudo apt-get install openjdk-11-jdk-headless
安裝後,我的版本顯示如下:
ryan@aurelius:~$ java -version openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)
如果我嘗試執行使用相同 Java 版本編譯的 JAR 文件,我會得到:
ryan@aurelius:~/jade$ java -jar jade-launcher-jar-with-dependencies.jar -i Error: LinkageError occurred while loading main class com.vicinityconcepts.jade.launcher.JadeOrbitBootstrap java.lang.UnsupportedClassVersionError: com/vicinityconcepts/jade/launcher/JadeOrbitBootstrap has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 54.0
我究竟做錯了什麼?
解決方案
如評論中所述,似乎是 Ubuntu 18.04 中的 OpenJDK 包的問題。升級到 18.10 後,包中包含正確的 JDK 版本。
如評論中所述,似乎是 Ubuntu 18.04 中的 OpenJDK 包的問題。升級到 18.10 後,包中包含正確的 JDK 版本。