Uwaga: Rozwiązania te działają dla różnych wersji Java, w tym Java 8 i nowej Java 13, oraz dla wszystkich innych poprzednich wersji Java objętych wymienionymi menedżerami wersji. Obejmuje to alternatywne JDK od OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal i innych. Łatwo pracuj z Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 i Java 13!
Masz kilka opcji instalacji i zarządzania przełączaniem JDK. Instalacja może być wykonana przez Homebrew, SDKMAN , Jabba lub instalację ręczną. Przełączania można dokonać za pomocą JEnv , SDKMAN , Jabba lub ręcznie przez ustawienie JAVA_HOME
. Wszystkie są opisane poniżej.
Instalacja
Najpierw zainstaluj Javę przy użyciu dowolnej metody, w tym Homebrew, SDKMAN lub ręcznej instalacji pliku tar.gz. Zaletą instalacji ręcznej jest to, że lokalizację JDK można umieścić w znormalizowanej lokalizacji dla systemu Mac OSX.
Zainstaluj za pomocą SDKMAN
Jest to prosty model, ponieważ obsługuje zarówno instalację, jak i przełączanie wersji, z zastrzeżeniem, że instaluje JDK w niestandardowym katalogu.
< patrz poniżej „Instalowanie i przełączanie wersji za pomocą SDKMAN” >
Zainstaluj za pomocą Jabba
Jest to również prosty model, w którym zarówno instalacja, jak i zmiana wersji są obsługiwane przez to samo narzędzie. Instalacje są wykonywane w niestandardowym katalogu.
< patrz poniżej „Instalowanie i zmiana wersji za pomocą Jabba” >
Zainstaluj ręcznie ze strony pobierania OpenJDK:
Pobierz OpenJDK na Mac OSX ze strony http://jdk.java.net/ (na przykład Java 13 )
Zarchiwizuj tar OpenJDK i umieść wynikowy folder (tj. jdk-13.jdk
) W swoim /Library/Java/JavaVirtualMachines/
folderze, ponieważ jest to standardowa i oczekiwana lokalizacja instalacji JDK. Możesz także zainstalować w dowolnym miejscu w rzeczywistości.
Zainstaluj z Homebrew
Wersja Java dostępna w Homebrew Cask przed 3 października 2018 r. Była rzeczywiście Oracle JVM. Teraz jednak został zaktualizowany do OpenJDK. Zaktualizuj Homebrew, a zobaczysz ostatnią dostępną wersję do zainstalowania.
zainstaluj Homebrew, jeśli jeszcze tego nie zrobiłeś. Upewnij się, że jest zaktualizowany:
brew update
Dodaj beczki stuknij, jeśli jeszcze tego nie zrobiłeś (lub nie widzisz już starszych wersji Java z krokiem 3):
brew tap homebrew/cask-versions
a dla wersji AdoptOpenJDK dodaj to dotknij:
brew tap adoptopenjdk/openjdk
Te beczki często zmieniają wersje Java i mogą istnieć inne krany z dodatkowymi wersjami Java.
Poszukaj wersji do zainstalowania:
brew search java
lub dla wersji AdoptOpenJDK:
brew search jdk
Sprawdź szczegóły dotyczące wersji, która zostanie zainstalowana:
brew cask info java
lub dla wersji AdoptOpenJDK:
brew cask info adoptopenjdk
Zainstalować wersję konkretnego JDK, takich jak java11
, adoptopenjdk8
lub po prostu java
albo adoptopenjdk
za prąd. Na przykład:
brew cask install java
Możesz również użyć w pełni kwalifikowanej ścieżki do starszych wersji:
brew cask install homebrew/cask-versions/java11
Zostaną one zainstalowane w /Library/Java/JavaVirtualMachines/
tradycyjnej lokalizacji oczekiwanej w systemie Mac OSX.
Inne opcje instalacji:
Niektóre inne smaki openJDK to:
Certyfikowane przez Azul Systems Java wersje Zulu OpenJDK można zainstalować, postępując zgodnie z instrukcjami na ich stronie .
Zulu® to certyfikowana wersja OpenJDK, która jest w pełni zgodna ze standardem Java SE. Zulu jest w 100% otwartym oprogramowaniem i można go bezpłatnie pobrać. Teraz programiści Java, administratorzy systemu i użytkownicy końcowi mogą korzystać z pełnych korzyści płynących z oprogramowania Java typu open source dzięki elastyczności wdrażania i kontroli czasu aktualizacji.
Kompilacje OpenJDK w Amazon Correto mają łatwy w użyciu pakiet instalacyjny dla wersji 8 lub 11 (nadchodzą inne wersje) i instaluje się w standardowym/Library/Java/JavaVirtualMachines/
katalogu na Mac OSX.
Amazon Corretto to bezpłatna, wieloplatformowa, gotowa do produkcji dystrybucja pakietu Open Java Development Kit (OpenJDK). Corretto zapewnia długoterminowe wsparcie obejmujące ulepszenia wydajności i poprawki bezpieczeństwa. Amazon uruchamia Corretto wewnętrznie na tysiącach usług produkcyjnych, a Corretto posiada certyfikat zgodności ze standardem Java SE. Dzięki Corretto możesz tworzyć i uruchamiać aplikacje Java w popularnych systemach operacyjnych, w tym Linux, Windows i macOS.
Gdzie jest mój JDK?!?!
Aby znaleźć lokalizacje wcześniej zainstalowanych JDK Java zainstalowanych w domyślnych lokalizacjach systemowych, użyj:
/usr/libexec/java_home -V
Pasujące maszyny wirtualne Java (6):
13, x86_64: „OpenJDK 13” /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64: „OpenJDK 12” / Library / Java / JavaVirtualMachines / jdk-12 .jdk / Contents / Home
11, x86_64: „Java SE 11”
/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home 10.0.2, x86_64: „Java SE 10.0.2” / Library / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64: „Java SE 9”
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home 1.8.0_144, x86_64: „Java SE 8” / Library /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Możesz także zgłosić tylko lokalizację określonej wersji Java -v
. Na przykład dla Java 13:
/usr/libexec/java_home -v 13
/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Znajomość lokalizacji zainstalowanych JDK jest również przydatna podczas korzystania z narzędzi takich jak JEnv, dodawania lokalnej instalacji do SDKMAN lub łączenia systemowego JDK w Jabbie - i musisz wiedzieć, gdzie je znaleźć.
Jeśli chcesz znaleźć JDK zainstalowane przez inne narzędzia, sprawdź te lokalizacje:
- SDKMAN instaluje się w
~/.sdkman/candidates/java/
- Jabba instaluje się w
~/.jabba/jdk
Ręczne przełączanie wersji
Plik wykonywalny Java to opakowanie, które będzie wykorzystywać to, co JDK jest skonfigurowane JAVA_HOME
, więc możesz to zmienić, aby zmienić także używany JDK.
Na przykład, jeśli zainstalowałeś lub rozpakowałem JDK 13, /Library/Java/JavaVirtualMachines/jdk-13.jdk
jeśli jest to najwyższy numer wersji, powinien już być domyślny, jeśli nie, możesz po prostu ustawić:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
A teraz cokolwiek plik wykonywalny Java jest na ścieżce, zobaczy to i użyje poprawnego JDK.
Korzystanie z /usr/libexec/java_home
narzędzia, jak opisano wcześniej, pomaga tworzyć aliasy lub uruchamiać polecenia zmieniające wersje Java poprzez identyfikację lokalizacji różnych instalacji JDK. Na przykład, tworzenie aliasów powłoki w twoim .profile
lub w .bash_profile
celu zmiany JAVA_HOME
dla ciebie:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
# default to Java 13
java13
Następnie, aby zmienić wersje, wystarczy użyć aliasu.
java8
java -version
wersja java „1.8.0_144”
Oczywiście JAVA_HOME
ręczne ustawienie również działa!
Przełączanie wersji za pomocą JEnv
JEnv oczekuje, że Java JDK już istnieje na komputerze i może znajdować się w dowolnym miejscu. Zazwyczaj znajdziesz zainstalowane JDK Java w/Library/Java/JavaVirtualMachines/
. JEnv pozwala ustawić globalną wersję Javy, jedną dla bieżącej powłoki oraz wersję lokalną dla katalogu, która jest przydatna, gdy niektóre projekty wymagają innych wersji niż inne.
Zainstaluj JEnv, jeśli jeszcze tego nie zrobiłeś, instrukcje na stronie http://www.jenv.be/ dotyczące ręcznej instalacji lub korzystania z Homebrew.
Dodaj dowolną wersję Java do JEnv ( dostosuj katalog, jeśli umieściłeś go w innym miejscu ):
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Ustaw swoją wersję globalną za pomocą tego polecenia:
jenv global 13
Możesz także dodać inne istniejące wersje, używając jenv add
w podobny sposób, i wymienić te, które są dostępne. Na przykład Java 8:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jenv versions
Więcej informacji znajdziesz w dokumentacji JEnv . Możesz teraz przełączać się między dowolnymi wersjami Java (Oracle, OpenJDK, inne) w dowolnym momencie dla całego systemu, dla powłok lub dla katalogu lokalnego.
Aby pomóc zarządzać JAVA_HOME
podczas korzystania z JEnv, możesz dodać wtyczkę eksportu, aby zrobić to za Ciebie.
$ jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
Wtyczka eksportu może się nie dostosowywać, JAVA_HOME
jeśli jest już ustawiona, więc może być konieczne wyczyszczenie tej zmiennej w swoim profilu, aby mogła być zarządzana przez JEnv.
Możesz także użyć jenv exec <command> <parms...>
do uruchomienia pojedynczych poleceń JAVA_HOME
i PATH
ustawienia dla jednego polecenia, które mogą obejmować otwarcie innej powłoki.
Instalowanie i przełączanie wersji za pomocą SDKMAN
SDKMAN jest nieco inny i obsługuje zarówno instalację, jak i przełączanie. SDKMAN umieszcza również zainstalowane JDK we własnym drzewie katalogów, co zwykle jest~/.sdkman/candidates/java
. SDKMAN umożliwia ustawienie globalnej domyślnej wersji i wersji specyficznej dla bieżącej powłoki.
Zainstaluj SDKMAN z https://sdkman.io/install
Wymień dostępne wersje Java, aby upewnić się, że znasz identyfikator wersji
sdk list java
Zainstaluj jedną z tych wersji, na przykład Java 13:
sdk install java 13.0.0-open
Ustaw 13 jako domyślną wersję:
sdk default java 13.0.0-open
Lub zmień sesję na 13:
sdk use java 13.0.0-open
Gdy wyświetlisz listę dostępnych wersji do instalacji za pomocą polecenia list, zobaczysz wiele różnych dystrybucji Java:
sdk list java
I zainstaluj dodatkowe wersje, takie jak JDK 8:
sdk install java 8.0.181-oracle
SDKMAN może współpracować z poprzednio zainstalowanymi istniejącymi wersjami. Po prostu wykonaj lokalną instalację, podając własną etykietę wersji i lokalizację JDK:
sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
I używaj go swobodnie:
sdk use java my-local-13
Więcej informacji jest dostępnych w Przewodniku użytkowania SDKMAN wraz z innymi zestawami SDK, które można zainstalować i zarządzać.
SDKMAN automatycznie zarządza twoimi PATH
i JAVA_HOME
dla ciebie podczas zmiany wersji.
Instalowanie i przełączanie wersji za pomocą Jabba
Jabba obsługuje także instalację i przełączanie. Jabba umieszcza również zainstalowane JDK we własnym drzewie katalogów, co zwykle jest~/.jabba/jdk
.
Zainstaluj Jabba, postępując zgodnie z instrukcjami na stronie głównej .
Lista dostępnych JDK
jabba ls-remote
Zainstaluj Java JDK 12
jabba install openjdk@1.12.0
Użyj tego:
jabba use openjdk@1.12.0
Możesz także aliasować nazwy wersji, link do już zainstalowanych JDK i znaleźć mieszankę interesujących JDK, takich jak GraalVM, Adopt JDK, IBM JDK i inne. Kompletny przewodnik użytkowania jest również dostępny na stronie głównej.
Jabba automatycznie zarządza twoimi PATH
i JAVA_HOME
dla ciebie podczas zmiany wersji.