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?


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.


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 ...).


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).


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.


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 .


-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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.