首頁 > Java > 主體

嘗試使用未安裝的 JDK 版本建置程序

PHPz
發布: 2024-02-09 17:06:10
轉載
878 人瀏覽過

php小編新一為您介紹如何嘗試使用未安裝的JDK版本建置程式。在開發過程中,使用正確的JDK版本是至關重要的,但有時我們可能需要嘗試使用其他版本來解決一些問題。這時,我們可以透過設定環境變數來指定要使用的JDK版本,並使用命令列工具來建立我們的程式。在這篇文章中,我們將詳細介紹如何進行這些操作,以幫助您順利完成開發任務。讓我們開始吧!

問題內容

使用 oracle 安裝程序,我在 windows 電腦上安裝了 jdk-21。但是,當我嘗試建置專案時,出現錯誤訊息提示 gradlew 不相容,因此我卸載了 oracle jdk-21,現在我已經安裝了 adoptium 建置並使用此命令設定了 java_home

setx java_home「c:\program files\eclipse adoptium\jdk-21.0.1.12-hotspot」

當我在命令提示字元下執行 where java 時,我得到:

c:\program files\eclipse adoptium\jdk.21.0.1.12-hotspot\bin\java.exe
登入後複製

但是,當我嘗試建立專案時,收到一條錯誤訊息,指出找不到 java 執行檔「c:\program files\java\jdk-21\bin\java.exe」。我的電腦似乎正在嘗試尋找我卸載的 oracle 版本。

我按照本文中的說明在系統路徑中設定了 %java_home%\bin ,但它說找不到可執行檔。

這是我的環境變數路徑中的第一個條目

c:\program files\eclipse adoptium\jdk-21.0.1.12-hotspot\bin
登入後複製

這是我的最後一篇文章

%JAVA_HOME%\bin
登入後複製

為什麼程式希望使用已卸載的 java 版本(即我刪除的 oracle 版本)進行建置?

此連結顯示了我的 windows 電腦上的 java 路徑的螢幕截圖。

這個 java spring 專案就是我正在嘗試建立的專案。

解決方法

也許這與 gradle 快取機制有關。刪除 .gradle/daemon/<version>/registry.bin 文件,它應該使用您的 JAVA_HOME 環境變數。

這裡是 gradle 守護程式文件。也許這個 部分 會導致您在評論中描述的後續錯誤。您可以使用 gradle <task> --no-daemon 停用目前建置的守護進程,並檢查您的專案是否會建置。

您連結到的項目正在使用 Gradle 8.0.1。 不支援使用 Java 21 運行它,您可以在 https://docs.gradle 中看到.org/current/userguide/compatibility.html。 因此,要以不變的方式建置該項目,您必須使用最多 Java 19 執行 Gradle。

即使 JAVA_HOME 設定為新位置,仍使用舊的 Java 安裝聽起來很奇怪,如果您實際上從命令列執行 Gradle。如果從 IDE 執行它,則必須檢查 IDE 設定。

現在我只能想像,在你的GRADLE_USER_HOME (通常是你的用戶主目錄中的.gradle/ )中,你有一個gradle.properties ,你可以在其中設定舊Java 安裝的路徑。

如果情況並非如此,問題是,您嘗試運行建置的確切輸出是什麼,錯誤到底來自哪裡。如果它來自 Gradle 包裝器腳本,您可以關閉迴聲抑制以查看實際發生的情況。

以上是嘗試使用未安裝的 JDK 版本建置程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!