Heim  >  Artikel  >  Ich versuche, das Programm mit einer JDK-Version zu erstellen, die nicht installiert ist

Ich versuche, das Programm mit einer JDK-Version zu erstellen, die nicht installiert ist

PHPz
PHPznach vorne
2024-02-09 17:06:10855Durchsuche

Der PHP-Editor Xinyi stellt Ihnen vor, wie Sie versuchen, ein Programm mit einer nicht installierten JDK-Version zu erstellen. Während der Entwicklung ist es wichtig, die richtige JDK-Version zu verwenden, aber manchmal müssen wir möglicherweise versuchen, andere Versionen zu verwenden, um einige Probleme zu lösen. Zu diesem Zeitpunkt können wir die zu verwendende JDK-Version angeben, indem wir Umgebungsvariablen festlegen und Befehlszeilentools verwenden, um unser Programm zu erstellen. In diesem Artikel erfahren Sie im Detail, wie Sie diese Vorgänge durchführen, damit Sie Ihre Entwicklungsaufgaben reibungslos erledigen können. Lasst uns beginnen!

Frageninhalt

Mit dem Oracle-Installationsprogramm habe ich jdk-21 auf einem Windows-Computer installiert. Aber als ich versuchte, das Projekt zu erstellen, bekam ich eine Fehlermeldung, dass Gradlew nicht kompatibel sei, also habe ich Oracle JDK-21 deinstalliert und jetzt habe ich Adoptium Build installiert und java_home mit diesem Befehl eingerichtet

setx java_home“c:program fileseclipse adoptiumjdk-21.0.1.12-hotspot”

Wenn ich in der Eingabeaufforderung „Where Java“ ausführe, erhalte ich Folgendes:

c:\program files\eclipse adoptium\jdk.21.0.1.12-hotspot\bin\java.exe

Wenn ich jedoch versuche, das Projekt zu erstellen, erhalte ich die Fehlermeldung, dass die ausführbare Java-Datei „c:program filesjavajdk-21binjava.exe“ nicht gefunden werden kann. Mein Computer scheint zu versuchen, die Version von Oracle zu finden, die ich deinstalliert habe.

Ich habe die Anweisungen in diesem Artikel befolgt, um %java_home%bin im Systempfad festzulegen, aber es wird angezeigt, dass die ausführbare Datei nicht gefunden werden kann.

Dies ist der erste Eintrag in meinem Umgebungsvariablenpfad

c:\program files\eclipse adoptium\jdk-21.0.1.12-hotspot\bin

Dies ist mein letzter Beitrag

%JAVA_HOME%\bin

Warum möchte das Programm mit der deinstallierten Java-Version (d. h. der Oracle-Version, die ich entfernt habe) erstellen?

Dieser Link zeigt einen Screenshot des Java-Pfads auf meinem Windows-Computer.

Dieses Java-Spring-Projekt versuche ich zu erstellen.

Lösung

Vielleicht hängt das mit dem Gradle-Caching-Mechanismus zusammen. Entfernen Sie die Umgebungsvariable .gradle/daemon/3d689bd3819ead35ed794427bd12f459/registry.bin 文件,它应该使用您的 JAVA_HOME.

Hier ist die Gradle-Daemon-Dokumentation. Möglicherweise verursacht dieser Teil den Folgefehler, den Sie in Ihrem Kommentar beschrieben haben. Mit gradle 5a3616b73b29b6ef8523164b750a7aee --no-daemon können Sie den aktuellen Build-Daemon deaktivieren und prüfen, ob Ihr Projekt erstellt werden kann.

Das Projekt, auf das Sie verlinkt haben, verwendet Gradle 8.0.1. Die Ausführung mit Java 21 wird nicht unterstützt, Sie können es unter https://docs.gradle.org/current/userguide/compatibility.html sehen. Um dieses Projekt unverändert zu erstellen, müssen Sie daher Gradle mit bis zu Java 19 ausführen.

Immer noch die alte Java-Installation zu verwenden, obwohl JAVA_HOME es auf einen neuen Speicherort eingestellt ist, klingt seltsam, wenn Sie Gradle tatsächlich über die Befehlszeile ausführen. Wenn Sie es von einer IDE aus ausführen, müssen Sie die IDE-Einstellungen überprüfen.

Jetzt kann ich mir nur vorstellen, dass Sie in Ihrem GRADLE_USER_HOME (通常是你的用户主目录中的 .gradle/ )中,你有一个 gradle.properties den Pfad zu Ihrer alten Java-Installation festlegen können.

Wenn dies nicht der Fall ist, ist die Frage, was genau das Ergebnis ist, wenn Sie versuchen, den Build auszuführen, und woher genau der Fehler kommt. Wenn es von einem Gradle-Wrapper-Skript stammt, können Sie die Echounterdrückung deaktivieren, um zu sehen, was tatsächlich passiert.

Das obige ist der detaillierte Inhalt vonIch versuche, das Programm mit einer JDK-Version zu erstellen, die nicht installiert ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen