Jak zainstalować OpenJDK 11 w systemie Windows?

269

W przeszłości firma Oracle publikowała wykonywalne instalatory dla systemu Windows, które:

  • Rozpakuj pliki
  • Dodaj klucze rejestru wskazujące zainstalowaną wersję i ścieżkę
  • Dodaj środowisko JRE do ŚCIEŻKI systemowej
  • Zarejestruj deinstalator w systemie Windows.

Począwszy od Java 11, darmowa wersja Oracle (Java OpenJDK ) Oracle nie zawiera instalatora. To tylko plik zip zawierający pliki binarne.

Jak powinniśmy zainstalować OpenJDK 11 w systemie Windows, ponieważ nie ma już wspomnianych integracji? Czy nie są konieczne?

Gili
źródło
1
Zmiana rejestru nigdy nie była tak naprawdę potrzebna. A gdy nie manipulujesz systemem, nie potrzebujesz dezinstalatora.
Holger
1
@Gili przy użyciu zmiennej środowiskowej JAVA_HOME lub poprzez bezpośrednią ścieżkę w konfiguracji, jak IntelliJ IDEa, prawda?
Michaił Chołodkow
13
Istnieje projekt społecznościowy ojdkbuild, który udostępnia instalatory Windows dla OpenJDK. JDK 11 nie jest jeszcze tam dostępny, ale mam nadzieję, że wkrótce go otrzymamy.
ZhekaKozlov
1
@Gili wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVM zauważ, że rejestr nie pojawia się nigdzie…
Holger
1
@Robert dobrze, bez wtyczki przeglądarki, panelu sterowania, narzędzia automatycznej aktualizacji ani crapware paska narzędzi ask, nie ma już tak wiele do zainstalowania.
Holger,

Odpowiedzi:

337
  1. Wyodrębnij plik zip do folderu, np C:\Program Files\Java\. Utworzy on jdk-11folder (w którym folder bin jest bezpośrednim podfolderem). Do wyodrębnienia pliku zip do tej lokalizacji mogą być potrzebne uprawnienia administratora.

  2. Ustaw ŚCIEŻKĘ:

    • Wybierz Panel sterowania, a następnie System.
    • Kliknij Zaawansowane, a następnie Zmienne środowiskowe.
    • Dodaj lokalizację folderu bin instalacji JDK do zmiennej PATH w Zmiennych systemowych.
    • Poniżej przedstawiono typową wartość zmiennej PATH: C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. Ustaw JAVA_HOME:

    • W obszarze Zmienne systemowe kliknij opcję Nowy.
    • Wprowadź nazwę zmiennej jako JAVA_HOME.
    • Wprowadź wartość zmiennej jako ścieżkę instalacji JDK (bez binpodfolderu).
    • Kliknij OK.
    • Kliknij Zastosuj zmiany.
  4. Skonfiguruj JDK w swoim IDE (np. IntelliJ lub Eclipse).

Jesteś ustawiony.

Aby sprawdzić, czy zadziałało, otwórz Wiersz polecenia i wpisz tekst java -versioni sprawdź, czy drukuje nowo zainstalowany JDK.

Jeśli chcesz odinstalować - po prostu cofnij powyższe kroki.

Uwaga: Możesz również wskazać JAVA_HOMEfolder instalacji JDK, a następnie ustawić PATHzmienną na %JAVA_HOME%\bin. Kiedy więc chcesz zmienić JDK, zmieniasz tylko JAVA_HOMEzmienną i pozostawiasz PATHją taką, jaka jest.

Lior Bar-On
źródło
9
Nie zapomnij wpisów rejestru, które są np. Używane przez Launch4j do znalezienia zainstalowanego jre / jdk.
Robert
2
@Lior: To tylko jeden znany mi program, który korzysta z wpisów rejestru. Mogą być też dziesiątki lub setki innych programów korzystających z tych wpisów rejestru.
Robert
4
Może tak być, ale: Pracowałem z Javą od wersji 1.1 bez ustawiania rejestru - więc nie jest to konieczne. b: rejestr systemu Windows jest powszechnie uważany za mechanizm, którego należy unikać (np. blog.codinghorror.com/was-the-windows-registry-a-good-idea ) - dlatego nie sądzę, że należy go używać, jeśli nie potrzebne. np. błąd w ustawieniu wartości może prowadzić do trudnego do odzyskania błędu.
Lior Bar-On,
25
> Możesz skierować JAVA_HOME do folderu, w którym masz wiele instalacji JDK . To jest całkowicie błędne. Wiele programów i skryptów zakłada, że ​​JAVA_HOME wskazuje na domyślną instalację Java (jdk lub jre) i szukają plików binarnych w "% JAVA_HOME% \ bin". NIE MOŻESZ wskazać JAVA_HOME do folderu z wieloma instalacjami jdk. Zamiast tego możesz dodać do ścieżki wartość „% JAVA_HOME% \ bin;” a następnie (po zainstalowaniu nowego JDK) możesz zaktualizować tylko JAVA_HOME
kool79
2
@sarkasronie Zobacz kod źródłowy launch4j: sourceforge.net/p/launch4j/git/ci/Release_launch4j-3_12/tree/… (pod HKEY_LOCAL_MACHINE)
Robert
142

AdoptOpenJDK to nowa witryna hostowana przez społeczność Java . Znajdziesz tam instalatory .msi dla OpenJDK od 8 do 14, które wykonają wszystkie czynności wymienione w pytaniu (Rozpakowanie, klucze rejestru, aktualizacja zmiennych PATH (i JAVA_HOME), deinstalator ...).

Pimgd
źródło
5
Mimo że zaakceptowana odpowiedź jest poprawna, jest to o wiele wygodniejszy sposób instalacji dowolnej wersji JDK / JRE
optevo
21

Z komentarza @ZhekaKozlov: ojdkbuild ma kompilacje OpenJDK (obecnie 8 i 11) dla Windows ( zipi msi).

Martin Schröder
źródło
3
Dla mnie te kompilacje nie ustawiły poprawnie zmiennych PATH. Przy dzierżawie nie mogę wydać java -versioni uzyskać żądanej wydajności.
hannes101
1
Nie mogę znaleźć OpenJDK MSI. Zrobię skrypt i udostępnię go później w odpowiedzi, która wyodrębnia i ustawia PATH i JAVA_HOME dla maszyny.
vezenkov
1
@vezenkov: Zaktualizuj odpowiedź tutaj (z jakiegoś powodu jest to wiki społeczności) i / lub otwórz problem z projektem.
Martin Schröder
Aby dodać do zaakceptowanej odpowiedzi, jeśli aktualizowałeś z poprzedniej wersji, musiałem nawet zrestartować serwer, aby zobaczyć wersję openjdk aktualizowaną w wierszu poleceń.
desiguy
21

Użyj menedżera pakietów Chocolatey . To narzędzie wiersza polecenia podobne do npm. Po zainstalowaniu użyj

choco install openjdk

w wierszu polecenia z podwyższonym poziomem uprawnień, aby zainstalować OpenJDK.

Aby zaktualizować zainstalowaną wersję do najnowszej wersji, wpisz

choco upgrade openjdk

Całkiem prosty w użyciu i szczególnie pomocny w aktualizacji do najnowszej wersji. Brak ręcznego majstrowania przy zmiennych środowiskowych ścieżki.

Tobiasz
źródło
3
Zauważ, że zainstaluje to najnowszą wersję: openjdk-12.0.2_windows-x64
Vadzim
jeśli masz zainstalowane inne wersje Java, możesz sprawdzić zmienne ścieżki i usunąć / zmodyfikować starą.
Ketu
1
@Vadzim choco zainstaluj openjdk11 na dzień dzisiejszy, nie wspominając o wersji, instaluje openjdk-13 i dla przypomnienia, użyje AdoptOpenJDK jak w innych odpowiedziach
FIV
1

Możesz użyć Amazon Corretto . Korzystanie z wieloplatformowej, gotowej do produkcji dystrybucji OpenJDK jest bezpłatne. Zapewnia długoterminowe wsparcie obejmujące ulepszenia wydajności i poprawki bezpieczeństwa. Sprawdź instrukcje instalacji tutaj .

Możesz także sprawdzić Zulu od Azul .

Jeszcze jedną rzeczą, którą chcę tu podkreślić, jest to, że zarówno Amazon Corretto, jak i Zulu są zgodne z TCK. Możesz zobaczyć porównanie kompilacji OpenJDK tutaj i tutaj .

Swapnil
źródło
-3

Deinstalator Oracle Java nie usuwa wszystkich plików.
Sprawdź, czy istnieje „C: \ ProgramData \ Oracle”, czy w katalogu jest kilka plików Java. (np. java.exe, javaw.exe)
Usuń go, aby zapobiec wykonywaniu błędnych plików java.

rękodzieło
źródło