Jak mogę zainstalować dodatkową Javę na MacOS? Zainstalowałem jdk8 i to działa dobrze. ale teraz potrzebuję instalacji jdk7 do celów programistycznych. Kiedy próbuję zainstalować starą wersję za pomocą pliku DMG, pojawia się ostrzeżenie, że jest już zainstalowana nowsza wersja Java i instalator kończy pracę.
/usr/libexec/java_home -verbose
Matching Java Virtual Machines (1):
1.8.0_20, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
Jak zainstalować jdk7 oprócz tego?
Dzięki
Dakky
brew install caskroom/cask/brew-cask
zamiastbrew install cask
wtyczki Emacsa.jenv
zwrócenieNo such file or directory.
błędu. Ta wiki pomogła mi to rozwiązać. github.com/gcuisinier/jenv/wiki/Trouble-Shooting/Library/Java/JavaVirtualMachines/
a kiedy dodajesz je razem zjenv add
tobą, dodaj ścieżkę wyglądającą tak/Library/Java/JavaVirtualMachines/[specific-version]/Contents/Home/
. Twoje zdrowie!brew cask search java7
Działam, ale nie znaleziono Cask dla „java7”./usr/libexec/java_home -V
dwukrotnie sprawdź ścieżki, w których zostały zainstalowane.Odinstaluj jdk8, zainstaluj jdk7, a następnie zainstaluj ponownie jdk8.
Moje podejście do przełączania się między nimi (w .profile):
Następnie możesz po prostu pisać
java7
lubjava8
w terminalu, aby przełączyć wersje.(edytuj: zaktualizowano, aby dodać ulepszenie Dylans dla Java 9)
źródło
9
np.export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
Dla systemu macOS Sierra 420
Ten przewodnik został zebrany z różnych źródeł (powyższe odpowiedzi oraz inne posty) i działa idealnie.
0. Jeśli jeszcze tego nie zrobiłeś, zainstaluj homebrew.
Zobacz https://brew.sh/
1. Zainstaluj jenv
2. Dodaj jenv do profilu bash
3. Dodaj jenv do swojej ścieżki
4. Stuknij „caskroom / wersje”
FYI: „Tap” rozszerza listę dostępnych rep, które można zainstalować, ponad domyślną listę dostępnych rep.
5. Zainstaluj najnowszą wersję Java
6. Zainstaluj java 6 (lub 7 lub 8 cokolwiek potrzebujesz)
? Być może zamknij i uruchom ponownie Terminal, aby zobaczył wszystkie nowe zmienne ENV, które zostały skonfigurowane.
7. Przejrzyj instalacje
Tutaj zainstalowana jest cała wersja Java:
/Library/Java/JavaVirtualMachines
spójrzmy.8. Dodaj każdą ścieżkę do jenv pojedynczo.
Musimy dodać „/ Contents / Home” do folderu wersji. OSTRZEŻENIE: Użycie rzeczywiste ścieżki na komputerze ... to tylko przykład S”
9. Sprawdź, czy jenv zarejestrował się OK
10. Ustaw wersję Java do użycia (globalnie)
Gdzie XX odpowiada jednemu z elementów z powyższej listy wersji.
Sprawdź wersję Java
Sprawdź wersje jenv
Powinien również wskazywać, że bieżąca wersja jest używana z gwiazdką.
GOTOWY
Szybkie odniesienie w przyszłości
Aby zmienić wersje Java
... Zobacz listę dostępnych wersji Java
... wtedy, gdzie XX pasuje do pozycji z powyższej listy
źródło
brew cask install java*
brew tap caskroom/versions
powinno byćbrew tap homebrew/cask-versions
SDKMAN! jest doskonałym narzędziem do używania wielu wersji Javy, Gradle, Groovy, Kotlin i innych narzędzi JVM w Mac OS. Dokumentacja instalacji i użytkowania znajduje się na głównej stronie.
(Nie mam powiązania, po prostu szczęśliwy użytkownik).
Jako przykładowe użycie, jeśli wpiszesz następujące w oknie terminala, pojawi się lista dostępnych wersji Java SDK (edytowanych dla zwięzłości):
Tutaj
+
oznacza, że wersja jest zainstalowana.>
oznacza, która wersja jest aktualnie używana. Aby zainstalować wersję:Aby użyć wersji w tym oknie terminala:
źródło
Jak można znaleźć na tej stronie Więc zacznijmy od instalacji jEnv
Uruchom to w terminalu
Dodaj jEnv do profilu bash
Podczas pierwszej instalacji jEnv nie będzie z nim powiązany żaden JDK.
Na przykład właśnie zainstalowałem JDK 8, ale jEnv o tym nie wie. Aby sprawdzić wersje Java na jEnv
W tej chwili znalazła tylko wersję Java (jre) w systemie. W
*
Pokazuje wersję aktualnie wybrana. W przeciwieństwie do rvm i rbenv, jEnv nie może zainstalować JDK dla ciebie. Musisz zainstalować JDK ręcznie ze strony Oracle.Zainstaluj JDK 6 ze strony Apple. Spowoduje to zainstalowanie Java
/System/Library/Java/JavaVirtualMachines/
. Powodem, dla którego instalujemy Javę 6 ze strony Apple, jest to, że SUN nie wymyślił JDK 6 dla MAC, więc Apple stworzyło / zmodyfikowało własną wersję wdrożenia.Podobnie zainstaluj JDK7 i JDK8.
Dodaj JDK do jEnv.
JDK 6:
JDK 7:
JDK 8:
Sprawdź wersje Java zainstalowane przy użyciu jenv
Więc teraz mamy 3 wersje Java w naszym systemie. Aby ustawić domyślną wersję, użyj polecenia
Ex - Chciałem, aby Jdk 1.6 uruchomił IntelliJ
sprawdź wersję Java
java -version
Otóż to. Mamy teraz wiele wersji Java i możemy łatwo przełączać się między nimi. jEnv ma również inne funkcje, takie jak opakowania dla Gradle, Ant, Maven itp. oraz możliwość ustawiania opcji JVM globalnie lub lokalnie. Sprawdź dokumentację, aby uzyskać więcej informacji.
źródło
Znajduję ostatnio tego menedżera wersji Java o nazwie Jabba, a jego użycie jest bardzo podobne do menedżerów wersji innych języków, takich jak rvm (ruby), nvm (węzeł), pyenv (python) itp. Również jest to platforma wieloplatformowa, więc na pewno można go używać na Prochowiec.
Po instalacji utworzy katalog w ~ / .jabba, aby umieścić wszystkie instalowane wersje Java. „Obsługuje instalację Oracle JDK (domyślnie) / Server JRE, Zulu OpenJDK (od 0.3.0), IBM SDK, Java Technology Edition (od 0.6.0) i niestandardowych adresów URL”.
Podstawowe użycie jest wymienione na ich Github. Krótkie podsumowanie na początek:
źródło
Używam Mac OS X 10.9.5. W ten sposób zarządzam wieloma JDK / JRE na moim komputerze, gdy potrzebuję jednej wersji do uruchomienia aplikacji A i używania innej wersji dla aplikacji B.
Utworzyłem następujący skrypt po uzyskaniu pomocy online.
Wstawiłem powyższy skrypt do pliku .profile. Po prostu otwórz terminal, wpisz vi .profile, dołącz skrypt z powyższym fragmentem i zapisz go. Po wprowadzeniu typu
source .profile
uruchomi się skrypt skryptu profilu bez konieczności ponownego uruchamiania terminala. Teraz wpiszjava -version
powinien pokazywać 1.7 jako aktualną wersję. Jeśli zamierzasz zmienić go na 1.8, skomentuj wierszsetjdk jdk1.7.0_15.jdk
i odkomentuj wierszsetjdk jdk1.8.0_60.jdk
. Zapisz skrypt i uruchom go ponownie za pomocą polecenia source. Używam tego mechanizmu do zarządzania wieloma wersjami JDK / JRE, gdy muszę skompilować 2 różne projekty Maven, które wymagają różnych wersji Java.źródło
Jenv na Mac Sierra:
jeśli nie działa po instalacji, popraw tę usterkę, aby dodać plik wykonywalny Java do ścieżki
chociaż
eval "$(jenv init -)"
może wykonać tę pracę. Powodem jest to, że folderu / bin już tam nie ma, jak opisano na stronie głównej, ale zamiast tego folder shim jest używany jako / bin.which java
może wydrukować / Library / ...W końcu
which java
daje:źródło
W tym samym duchu, co @Vegard (lekki):
Umieść tę
jdk
funkcję bash i domyślną w swoim.profile
a następnie, aby przełączyć jdk, możesz to zrobić
Na podstawie https://github.com/AdoptOpenJDK/homebrew-openjdk .
źródło
Oto bardziej SUCHA wersja bash (na podstawie odpowiedzi Vegarda)
Zamień 1.7 i 1.8 na dowolne wersje, którymi jesteś zainteresowany, a otrzymasz alias o nazwie „javaX”; gdzie „X” to wersja Java (7/8 we fragmencie poniżej), która pozwoli ci łatwo przełączać wersje
źródło
Używam tego, aby zainstalować nowsze wersje OpenJDK. Przykład dla OpenJDK 14:
Aktualne informacje można znaleźć na https://github.com/AdoptOpenJDK/homebrew-openjdk .
źródło