ホームページ  >  記事  >  インストールされていない JDK バージョンを使用してプログラムをビルドしようとしています

インストールされていない JDK バージョンを使用してプログラムをビルドしようとしています

PHPz
PHPz転載
2024-02-09 17:06:10906ブラウズ

php エディタ Xinyi では、アンインストールされた JDK バージョンを使用してプログラムをビルドしてみる方法を紹介します。開発中は正しい JDK バージョンを使用することが重要ですが、問題を解決するために他のバージョンの使用を試行する必要がある場合もあります。このとき、環境変数を設定して使用する JDK バージョンを指定し、コマンド ライン ツールを使用してプログラムをビルドできます。この記事では、開発タスクを正常に完了するためにこれらの操作を実行する方法を詳しく説明します。はじめましょう!

質問内容

Windowsコンピュータにoracleインストーラーを使用してjdk-21をインストールしました。しかし、プロジェクトをビルドしようとすると、gradlew に互換性がないというエラーが表示されたので、oracle jdk-21 をアンインストールし、このコマンドを使用して Adoptium build をインストールし、java_home

を設定しました。

setx java_home "c:\program files\eclipse Adoptium\jdk-21.0.1.12-hotspot"

コマンド プロンプトで where java を実行すると、次のメッセージが表示されます:

リーリー

ただし、プロジェクトをビルドしようとすると、Java 実行可能ファイル "c:\program files\java\jdk-21\bin\java.exe" が見つからないというエラー メッセージが表示されます。私のコンピュータは、アンインストールした Oracle のバージョンを見つけようとしているようです。

この記事の手順に従って、システム パスに %java_home%\bin を設定しましたが、実行可能ファイルが見つからないと表示されます。

これは環境変数パスの最初のエントリです

リーリー

これが私の最後の記事です

リーリー

なぜプログラムはアンインストールされた Java バージョン (つまり、削除した Oracle バージョン) を使用してビルドしようとするのですか?

このリンクは、Windows マシン上の Java パスのスクリーンショットを示しています。

この Java Spring プロジェクトは、私が構築しようとしているものです。

解決策

これは、gradle キャッシュ メカニズムに関連している可能性があります。 .gradle/daemon/<version>/registry.bin ファイルを削除します。JAVA_HOME 環境変数が使用されるはずです。

これは gradle デーモンのドキュメント です。おそらく、この part が、コメントに記載されている後続のエラーの原因となる可能性があります。 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。