簡體   English   中英

JDK和JRE版本混淆

[英]JDK and JRE version confusion

我一直在使用 Java 一段時間,最近 JDK/JRE 版本給我帶來了很多麻煩。 我正在使用 Intellij IDEA IDE 進行開發,它當然使用最新版本的 JDK,14。但是,當我嘗試在 IDE 之外執行使用 JDK 14 編譯的軟件時,我收到一個錯誤,即 JRE 不夠新運行這個軟件。 所以我在我的電腦和另一台機器上更新了 Java 並嘗試再次運行但沒有任何成功。 經過一番挖掘,我調整了我的機器以使用兼容的 JDK 14 中包含的 JRE。

然而,我不得不這樣做有點奇怪,有人會認為最新版本的 java 應該足以運行使用最新版本 JDK (14) 制作的應用程序。 現在 Java 是版本 8 build 251,並表示沒有可用的更新。 如果 JDK 14 現在已經發布了一段時間,他們為什么不更新他們發布的 Java 的版本?

問題已部分解決,因為只有我用於開發的機器能夠執行創建的應用程序。 盡管擁有最新版本的 java,但我發送給其他人卻無法運行它們。 獲取最新的 JDK 也是一件痛苦的事,尤其是在如何擺脫舊版本、將路徑指向最新版本、獲取正確的 package(open/oracle JDK)並為 windows 和幾個linux 的分布。 到底是怎么回事? 我是不是從錯誤的地方得到了 Java 以及其他人? 為什么 oracle 這樣做,為什么沒有 java 更新,因為顯然存在更新版本?

您對如何在操作系統上使用IntelliJJDK感到困惑。 現在, IntelliJ通常帶有其 JDK 二進制文件(但即使可以配置,也可以將 IntelliJ 配置為使用您將提供給它的任何 JDK/JRE 構建); 但是,如果您IntelliJ 運行 Java 應用程序,則很可能您使用的是安裝在操作系統本地的 Java,這可能通過您的JAVA_HOME環境變量引用。

我建議:

  1. Check java -version in your shell (and hence you'll see what JVM instance your OS spins up when you run a Java application);
  2. Check where java (on Windows, or which - on Linux) in your shell, to see all the Java binaries available on your OS.

從 Java-11 開始,不再存在單獨的 JRE。 換句話說,如果您使用的是 Java-11 或更高版本,您應該只關心 JDK。

您應該從您的機器上卸載 JRE-8 並確保PATH變量中的 JDK-14 bin文件夾。 有些應用程序甚至需要JAVA_HOME才能工作,因此您應該確保您的系統有一個名為JAVA_HOME的環境變量,並且它的值設置為 JDK-14 的根文件夾(即 JDK bin的上一級)。

問:我的客戶應該如何運行我在 JDK-14 上編譯的應用程序?

答:您的客戶必須安裝 JDK-14。 另外,請檢查線程以獲取一些替代方案。

嘗試卸載 Java SE 開發工具包和 Java JRE(如果你的機器上都有)並再次重新安裝,JDK 和 JRE 都有,我正在分享我的谷歌驅動器鏈接,在那里你可以找到 JDK 和 JRE 的最新版本以及何時您已完成安裝,在您機器的Environment Variables中添加bin文件夾路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM