Wie installiere ich OpenJDK 11 unter Windows?

269

In der Vergangenheit veröffentlichte Oracle ausführbare Installationsprogramme für Windows, die:

  • Dateien entpacken
  • Fügen Sie Registrierungsschlüssel hinzu, die die installierte Version und den installierten Pfad angeben
  • Fügen Sie die JRE zum Systempfad hinzu
  • Registrieren Sie ein Deinstallationsprogramm bei Windows.

Ab Java 11 scheint die kostenlose Java-Version von Oracle ( Oracle OpenJDK ) kein Installationsprogramm zu enthalten. Es ist nur eine Zip-Datei, die die Binärdateien enthält.

Wie sollen wir OpenJDK 11 unter Windows installieren, da die oben genannten Integrationen nicht mehr vorhanden sind? Sind sie nicht notwendig?

Gili
quelle
1
Das Ändern der Registrierung war eigentlich nie erforderlich. Und wenn Sie das System nicht manipulieren, benötigen Sie auch kein Deinstallationsprogramm.
Holger
1
@Gili mit JAVA_HOME Umgebungsvariable oder über direkten Pfad in der Konfiguration wie IntelliJ IDEa tut es?
Mikhail Kholodkov
13
Es gibt ein Community-Projekt ojdkbuild , das Windows-Installationsprogramme für OpenJDK bereitstellt. JDK 11 ist dort noch nicht verfügbar, aber ich hoffe, wir werden es bald bekommen.
ZhekaKozlov
1
@Gili wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVM Beachten Sie, wie die Registrierung nirgendwo erscheint ...
Holger
1
@ Robert Nun, ohne ein Browser-Plugin, ein Control Panel, ein Tool für automatische Updates oder die Crapware der Ask-Symbolleiste ist nicht mehr so ​​viel zu installieren.
Holger

Antworten:

336
  1. Extrahieren Sie die Zip-Datei in einen Ordner, z. B. C:\Program Files\Java\und es wird ein jdk-11Ordner erstellt (wobei der bin-Ordner ein direkter Unterordner ist). Möglicherweise benötigen Sie Administratorrechte, um die Zip-Datei an diesen Speicherort zu extrahieren.

  2. Legen Sie einen Pfad fest:

    • Wählen Sie Systemsteuerung und dann System.
    • Klicken Sie auf Erweitert und dann auf Umgebungsvariablen.
    • Fügen Sie der PATH-Variablen in Systemvariablen den Speicherort des Ordners bin der JDK-Installation hinzu.
    • Das Folgende ist ein typischer Wert für die PATH-Variable: C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. Stellen Sie JAVA_HOME ein:

    • Klicken Sie unter Systemvariablen auf Neu.
    • Geben Sie den Variablennamen als JAVA_HOME ein.
    • Geben Sie den Variablenwert als Installationspfad des JDK ein (ohne binUnterordner).
    • OK klicken.
    • Klicken Sie auf Änderungen übernehmen.
  4. Konfigurieren Sie das JDK in Ihrer IDE (z. B. IntelliJ oder Eclipse).

Sie sind eingestellt.

Um zu sehen, ob es funktioniert hat, öffnen Sie die Eingabeaufforderung java -versionund geben Sie ein, ob Ihr neu installiertes JDK gedruckt wird.

Wenn Sie deinstallieren möchten, machen Sie einfach die obigen Schritte rückgängig.

Hinweis: Sie können auch JAVA_HOMEauf den Ordner Ihrer JDK-Installationen verweisen und dann die PATHVariable auf setzen %JAVA_HOME%\bin. Wenn Sie also das JDK ändern möchten, ändern Sie nur die JAVA_HOMEVariable und lassen PATHsie unverändert.

Lior Bar-On
quelle
9
Vergessen Sie nicht die Registrierungseinträge, die zB von Launch4j zum Auffinden von installiertem jre / jdk verwendet werden.
Robert
2
@Lior: Dies ist nur ein mir bekanntes Programm, das die Registrierungseinträge verwendet. Möglicherweise verwenden auch Dutzende oder Hunderte anderer Programme diese Registrierungseinträge.
Robert
4
Es mag so sein, aber: a. Ich habe seit Version 1.1 mit Java gearbeitet, ohne die Registrierung festzulegen - es ist also kein Muss. b: Die Windows-Registrierung wird allgemein als ein zu vermeidender Mechanismus angesehen (z. B. blog.codinghorror.com/was-the-windows-registry-a-good-idea ) - daher denke ich nicht, dass sie verwendet werden sollte, wenn nicht speziell erforderlich. Beispiel: Ein Fehler beim Festlegen eines Werts kann zu einem schwer zu behebenden Fehler führen.
Lior Bar-On
25
> Sie können JAVA_HOME auf den Ordner verweisen, in dem Sie mehrere JDK-Installationen haben . Das ist völlig falsch. Viele Programme und Skripte gehen davon aus, dass JAVA_HOME auf die Standard-Java-Installation (jdk oder jre) verweist, und suchen unter "% JAVA_HOME% \ bin" nach Binärdateien. Sie können JAVA_HOME also NICHT auf einen Ordner mit mehreren JDK-Installationen verweisen. Stattdessen können Sie dem Pfad den Wert "% JAVA_HOME% \ bin;" hinzufügen. und dann (wenn neues JDK installiert ist) können Sie nur
JAVA_HOME
2
@sarkasronie Siehe launch4j Quellcode: sourceforge.net/p/launch4j/git/ci/Release_launch4j-3_12/tree/… (unter HKEY_LOCAL_MACHINE)
Robert
141

AdoptOpenJDK ist eine neue Website, die von der Java-Community gehostet wird . Dort finden Sie MSI-Installationsprogramme für OpenJDK 8 bis 14, die alle in der Frage aufgeführten Aufgaben ausführen (Entpacken, Registrierungsschlüssel, Aktualisieren der PATH-Variablen (und JAVA_HOME), Deinstallieren ...).

Pimgd
quelle
4
Obwohl die akzeptierte Antwort richtig ist, ist dies ein viel bequemer Weg , um jede Version des JDK / JRE zu installieren
optevo
21

Aus dem Kommentar von @ZhekaKozlov: ojdkbuild hat OpenJDK-Builds (derzeit 8 und 11) für Windows ( zipund msi).

Martin Schröder
quelle
3
Für mich haben diese Builds die PATH-Variablen nicht richtig gesetzt. Zumindest kann ich nicht ausgeben java -versionund die gewünschte Ausgabe erhalten.
Hannes101
1
Ich kann OpenJDK msi nicht finden. Ich werde ein Skript erstellen und es später in einer Antwort teilen, die PATH und JAVA_HOME für die Maschine extrahiert und festlegt.
Vezenkov
1
@vezenkov: Aktualisiere die Antwort hier (es ist aus einem bestimmten Grund ein Community-Wiki) und / oder öffne bitte ein Problem mit dem Projekt.
Martin Schröder
Um die akzeptierte Antwort zu ergänzen, wenn Sie ein Upgrade von einer früheren Version durchgeführt haben, musste ich den Server sogar neu starten, damit die openjdk-Version in der Befehlszeile aktualisiert wird.
Desiguy
21

Verwenden Sie den Chocolatey Packet Manager . Es ist ein Befehlszeilentool ähnlich npm. Sobald Sie es installiert haben, verwenden Sie

choco install openjdk

in einer Eingabeaufforderung mit erhöhten Rechten, um OpenJDK zu installieren.

Geben Sie ein, um eine installierte Version auf die neueste Version zu aktualisieren

choco upgrade openjdk

Ziemlich einfach zu bedienen und besonders hilfreich beim Upgrade auf die neueste Version. Kein manuelles Fummeln mit Pfadumgebungsvariablen.

Tobias
quelle
3
Beachten Sie, dass dies die neueste Version installieren würde: openjdk-12.0.2_windows-x64
Vadzim
Falls Sie andere Java-Versionen installiert haben, möchten Sie möglicherweise die Pfadvariablen überprüfen und die alten entfernen / ändern.
Ketu
1
@Vadzim choco installiere openjdk11 ab heute ohne die Version zu erwähnen, es installiert openjdk-13 und nur um zu beachten, es wird das AdoptOpenJDK wie in anderen Antworten verwenden
FIV
1

Sie können Amazon Corretto verwenden . Es ist kostenlos, die produktionsbereite Multiplattform-Distribution des OpenJDK zu verwenden. Es wird mit langfristiger Unterstützung geliefert, die Leistungsverbesserungen und Sicherheitskorrekturen umfasst. Überprüfen Sie die Installationsanleitung hier .

Sie können Zulu auch von Azul aus überprüfen .

Eine weitere Sache, die ich hier hervorheben möchte, ist, dass sowohl Amazon Corretto als auch Zulu TCK-konform sind. Sie können den OpenJDK-Build-Vergleich hier und hier sehen .

Swapnil
quelle
-3

Das Oracle Java-Deinstallationsprogramm entfernt nicht alle Dateien.
Überprüfen Sie, ob "C: \ ProgramData \ Oracle" vorhanden ist. Im Unterverzeichnis befinden sich einige Java-Dateien. (Beispiel: java.exe, javaw.exe)
Entfernen Sie es, um zu verhindern, dass falsche Java-Dateien ausgeführt werden.

Craftwar
quelle