Chcę programować w najnowszej wersji JavaFX, która wymaga Java 8. Korzystam z IntelliJ 13 CE i Mac OS X 9 Mavericks. Uruchomiłem instalator Oracle 8 Java, a pliki wyglądają tak, jakby były na końcu
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk
ale poprzednie wersje są na
/System/Library/Java/JavaFrameworks/jdk1.6....
Nie jestem pewien, dlaczego najnowszy instalator umieszcza to /Library
zamiast /System/Library
(ani jaka jest różnica). Ale /usr/libexec/java_home
nie znajduje 1.8, więc wszystkie posty, które znalazłem, jak ustawić aktualną wersję Java, nie działają. Próbowałem dodać symboliczne łącze, aby wyglądało na to, że 1.8 jest na /System/Library...
ścieżce, ale to nie pomaga. /usr/libexec/java_home -V
wciąż wyświetla tylko starą wersję Java 1.6.
Jak na ironię, panel sterowania „Java” w Preferencjach systemowych pokazuje tylko Java 1.8!
Dlaczego instalator Oracle nie stawia tego, dokąd tak naprawdę idzie? Jak mogę obejść ten problem?
źródło
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/
. Poprzednia dotyczyła wersji Java dostarczonych przez Apple, a ponieważ Apple nie zapewnia już Java, zmieniła się lokalizacja instalacji.Odpowiedzi:
Oracle ma słabe wyniki w zakresie ułatwiania instalacji i konfiguracji Java, ale przy użyciu Homebrew najnowszą wersję OpenJDK (Java 14) można zainstalować z:
W wielu przypadkach użycia, w zależności od starszej wersji (zwykle Java 8), projekt AdoptOpenJDK umożliwia dodatkowy krok.
Obecni użytkownicy Homebrew mogą spotkać się z
Error: Cask adoptopenjdk8 exists in multiple taps
powodu wcześniejszych obejść z różnymi instrukcjami. Można to rozwiązać poprzez pełne określenie lokalizacji za pomocąbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
.źródło
brew update
, jesteś gotowy do użyciabrew cask
.brew cask install java
na moim komputerze Mac Capitan i trwa pobieraniejdk-8u112-macosx-x64.dmg
.Error: Cask 'java8' is unavailable: No Cask with this name exists.
brew tap homebrew/cask-versions
użycie i użyciebrew cask install homebrew/cask-versions/adoptopenjdk8
Uwaga: Oracle Java 8/9/10 nie jest już dostępny do publicznego pobrania (zmiana licencji).
Najpierw zainstaluj i zaktualizuj napar z terminalu:
NOWOŚĆ od czerwca 2019 r
Aby zainstalować JDK z AdoptOpenJDK:
STARY
Java 8:
Najnowsze Java:
źródło
brew tap
polecenia w powyższej odpowiedzi. Pierwsze i trzecie polecenie były wystarczające.Error: Cask 'java8' is unavailable: No Cask with this name exists.
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8
. Muszę użyćbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew tap homebrew/cask-versions
ibrew cask install adoptopenjdk8
działa dla mnie na Hi Sierra 10.13.6Java8 nie jest już dostępna w Homebrew,
brew install java8
nie będzie działać.Zamiast tego użyj:
Zobacz to zatwierdzenie, aby uzyskać szczegółowe informacje techniczne.
Pamiętaj też, że mogą pojawić się problemy
Cask adoptopenjdk8 exists in multiple taps
. Jest to znany problem, nad którym obecnie pracujemy, który można zobaczyć tutaj:https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106
Dla tych, którzy nie chcą przeglądać szczegółów, oto podsumowanie:
źródło
AdoptOpenJDK/openjdk
zamiast używaniahomebrew/cask-versions/adoptopenjdk8
brew cask install homebrew/cask-versions/adoptopenjdk8
pracował dla mnieWłaśnie to zrobiłem na moim MBP i musiałem użyć
aby uzyskać java8 do zainstalowania.
źródło
brew tap caskroom/versions
jest wymagane przed zainstalowaniem java8brew install homebrew/cask-versions/java8
dla wygranej!Opcją, którą zaczynam naprawdę lubić do uruchamiania aplikacji na moim komputerze lokalnym, jest użycie Dockera. Możesz po prostu uruchomić aplikację w oficjalnym kontenerze JDK - co oznacza, że nie musisz się martwić o skonfigurowanie wszystkiego na komputerze lokalnym (ani martwić się uruchomieniem wielu różnych wersji JDK dla różnych aplikacji itp.)
Chociaż może to nie pomóc w bieżących problemach z instalacją, jest to rozwiązanie, które oznacza, że możesz przejść obok pola minowego problemów związanych z próbą prawidłowego działania Java na komputerze dewelopera!
Korzyści to:
Bardzo prosty przykład:
Utwórz
Dockerfile
:java:8
- używając Java 7, można tylko określić:java:7
)/usr/src/myapp
wewnątrz konteneraUtwórz
docker-compose.yml
plik:Załóżmy, że mamy ten plik Java:
HelloWorld.java
Mamy więc następującą strukturę plików:
Możesz robić różne rzeczy Java, takie jak:
skompilować:
biegać:
docker-compose run
- uruchamia polecenie z poziomu kontenera-rm
każe dokerowi usunąć kontener po zakończeniu wykonywania poleceniajava
to nazwa usługi / kontenera (z naszego pliku skompilowania dokera), dla której uruchomione zostanie to polecenieJest to całkiem fajny sposób radzenia sobie z uruchamianiem różnych wersji Java dla różnych aplikacji bez robienia bałaganu w lokalnej konfiguracji :).
Oto nieco bardziej złożony przykład z Maven i prostą aplikacją Spring
Zrzeczenie się:
źródło
Założenie: komputer Mac i już zainstalowałeś Homebrew.
Zainstaluj beczkę (z Homebrew 0.9.5 lub nowszą, beczka jest dołączona, więc pomiń ten krok):
Aby zainstalować najnowszą wersję Java:
Aby zainstalować java 8:
Jeśli chcesz zainstalować / zarządzać wieloma wersjami, możesz użyć „jenv”:
Zainstaluj i skonfiguruj jenv:
Dodaj zainstalowaną Javę do jenv:
Aby zobaczyć wszystkie zainstalowane Java:
Powyższe polecenie wyświetli listę zainstalowanych programów Java:
Skonfiguruj wersję Java, której chcesz użyć:
Aby ustawić JAVA_HOME:
źródło
Mam ten sam problem do rozwiązania, ponieważ muszę zainstalować JDK8, aby uruchomić Menedżera SDK systemu Android (ponieważ wygląda na to, że nie działa dobrze z JDK9). Jednak powiem ci, jak rozwiązać wszystkie problemy na komputerze Mac (Sierra).
Najpierw potrzebujesz naparu z beczką i jenv .
brew tap caskroom/versions
brew install jenv
brew cask install java8
(lubjava7
lubjava
jeśli chcesz zainstalować najnowszą wersję, jdk9)jenv versions
aby wyświetlić listę wszystkich wersji zainstalowanych na twoim komputerze, a następnie aktywować tę, którą chceszjenv global [JDK_NAME_OF_LIST]
Możesz znaleźć inne przydatne informacje tutaj na tym Github Gist brew-java-and-jenv.md , na tym blogu Zainstaluj wiele JDK na komputerze Mac i na stronie Jenv
źródło
źródło
Jeśli masz kilka wersji Java na swoim komputerze i chcesz wybrać go dynamicznie w czasie wykonywania, tj. W moim przypadku mam dwie wersje:
Możesz je zmienić, modyfikując
/etc/profile
zawartość. Po prostu dodaj (lub zmodyfikuj) następujące dwa wiersze na końcu pliku:W moim przypadku powinienem wyglądać następująco:
Java 7:
Java 8:
Po zapisaniu pliku uruchom
source /etc/profile
go i powinien działać. Oto wyniki, gdy odpowiednio używam pierwszej i drugiej opcji:Java 7:
Java 8:
Proces jest podobny, jeśli folder Java znajduje się w różnych lokalizacjach.
źródło
alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java
?Wygląda na to, że nikt jeszcze nie wspomniał o SDK man ( https://sdkman.io/ ).
SKD man umożliwia instalowanie wielu wersji Java na Macu i łatwe przełączanie między tymi wersjami. Więcej informacji jest dostępnych na https://sdkman.io/usage .
Na przykład:
źródło
Mam aplikacje, które używają zarówno Java 7, jak i 8 i cały czas muszę jeździć tam iz powrotem.
Używam tego skryptu napisanego przez Johana:
http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
Możesz teraz ustawić go podczas uruchamiania lub wywołać skrypt później.
Zainstaluj JDK dla komputerów Mac.
Java 7
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Zaktualizowana rekomendacja !! :
Użyj jenv https://www.jenv.be/ i homebrew.
To jest sprawiedliwe
jenv global oracle6401.6.0.39
i jego zbiór.źródło
~/.bashrc
lub~/.bash_profile
: eksportuj JAVA_HOME = "/ usr / libexec / java_home -v 1.8", a także dodać$JAVA_HOME/bin
do,$PATH
jeśli instalator java jeszcze tego nie zrobił. (UWAGA: zamień podwójne cudzysłowy na backticks dla / usr / libexec / java_home, nie mogę wpisać dosłownych backticks w komentarzach ..)brew tap caskroom/versions
następujebrew cask install java7
.Użyj instalatora, Luke
Inne odpowiedzi sugerujące, że menedżer pakietów Homebrew wydaje mi się nieco ekstremalny. Jestem pewien, że Homebrew ma dobre zastosowania. Aby jednak po prostu uruchomić Javę, instalacja Homebrew to niepotrzebny dodatkowy krok. Jeśli Twoim celem jest po prostu uruchomienie Java, po prostu pobierz instalator Mac z zaufanego źródła.
Masz wiele źródeł, aby uzyskać łatwą w użyciu aplikację instalacyjną do zainstalowania Java na komputerze Mac. Uruchom instalator na komputerze Mac, tak jak w przypadku wielu innych aplikacji.
Oto schemat blokowy znajdowania źródła Java 11, z których niektóre oferują także Javę 8.
Pobierz instalator od dostawcy, takiego jak AdoptOpenJDK.net.
Uruchom instalatora.
JavaVirtualMachines
folder jest teraz poprawnyŻaden problem.
Folder
/Library/Java/JavaVirtualMachines/
jest nowym domem dla JVM na macOS .Aby zainstalować JVM, użyj instalatora omówionego poniżej.
Aby odinstalować, wystarczy użyć Findera, aby usunąć JVM z tego folderu. Zostaniesz poproszony o podanie hasła administratora systemu, aby zakończyć usuwanie.
Java 9 oraz 10 i 11
W 2010 roku Apple dołączył do projektu OpenJDK wraz z Oracle , IBM , Red Hat , Azul i innymi dostawcami Java. Każdy członek wnosi kod źródłowy, testy i opinie do zunifikowanej bazy kodów OpenJDK.
Apple przekazało większość kodu specyficznego dla komputerów Mac dla JVM. Teraz Apple nie wydaje już własnej maszyny JVM dla komputerów Mac. Masz teraz wybór dostawcy JVM, z kompilacjami pochodzącymi z bazy kodu OpenJDK.
Kod źródłowy znajdziesz na: http://openjdk.java.net
Nowa kadencja wydawnicza
Należy pamiętać, że w 2017 r. Oracle, JCP i OpenJDK przyjęły nowy plan szybkiego „wydania pociągu” dla regularnie planowanych wersji Java, które będą dostarczane w przewidywalny sposób.
Przeczytaj ten post na blogu Azul Systems 2018-07, aby uzyskać szczegółowe informacje na temat eliminowania nieporozumień dotyczących aktualizacji Java autorstwa Simona Rittera .
Przeczytaj także Java Is Still Free .
Dostawcy
Bardziej wyczerpującą listę przeszłych i obecnych implementacji JVM można znaleźć na tej stronie w Wikipedii .
Oto dyskusja kilku dostawców. Zobacz schemat blokowy powyżej, aby uzyskać więcej dostawców
Oracle JDK
Oracle zapewnia instalatory JDK i JRE dla wielu platform, w tym macOS.
Przez lata od momentu przejęcia firmy Sun firma Oracle połączyła najlepsze części dwóch silników JVM, HotSpot i JRocket , i połączyła je w projekt OpenJDK, który posłużył jako podstawa dla ich własnych implementacji Java.
Ich nowy biznesplan, począwszy od 2018 r., Ma na celu zapewnienie wdrożenia Java pod marką Oracle za opłatą w produkcji i bez żadnych kosztów do wykorzystania w rozwoju / testowaniu / demonstracji. Obsługa poprzednich wersji wymaga płatnego programu wsparcia. Zadeklarowali zamiar, aby ich markowe wydanie było na równi z wydaniem OpenJDK. Podarowali nawet swoje komercyjne dodatki, takie jak Rejestrator lotu, na projekt OpenJDK.
Oracle wydaje również wersję OpenJDK bez wsparcia: http://jdk.java.net/
Oracle wyprodukował JDK specjalnego przeznaczenia, GraalVM .
Zulu & Zing autorstwa Azul
Azul Systems oferuje różnorodne produkty JVM.
Zulu
linia oparta jest bezpośrednio na OpenJDK i jest dostępna bezpłatnie z opcjonalnymi płatnymi planami wsparcia.Zing
linia oferuje komercyjne produkty JVM wzbogacone o alternatywne implementacje techniczne, takie jak wyspecjalizowany śmieciarz .Obie linie oferują instalatory dla systemu macOS.
Obecnie używam Zulu dla Java 10.0.1 na macOS High Sierra z IntelliJ 2018.2 i Vaadin 8 . I pobrać z tej strony . Nawiasem mówiąc, nie znajduję żadnych elementów związanych z Javą zainstalowanych w aplikacji Preferencje systemowe Apple .
AdoptOpenJDK.net
AdoptOpenJDK to wysiłek kierowany przez społeczność w celu zbudowania plików binarnych źródła OpenJDK. Zamierzają oferować aktualizacje w miarę upływu czasu, podarowane przez członków społeczności.
OpenJ9 autorstwa Eclipse
Projekt OpenJ9 to kolejna implementacja silnika JVM, alternatywa dla HotSpot .
Teraz sponsorowany przez Eclipse Foundation, z technologią i wsparciem podarowanym przez IBM w 2017 roku.
W przypadku gotowych plików binarnych odsyłają one do wspomnianego wyżej projektu AdoptOpenJDK .
Jak zainstalować
Instalatory dostarczone przez Oracle lub Azul są niezwykle proste w obsłudze. Wystarczy uruchomić aplikację instalatora na komputerze Mac. Pojawi się okno wskazujące postęp instalacji.
Po zakończeniu sprawdź instalację JVM, wykonując:
/Library/Java/JavaVirtualMachines/
folderu, aby zobaczyć element nowej maszyny JVM.java -version
aby zobaczyć markę i numer wersji JVM.Po sprawdzeniu powodzenia odinstaluj obraz .dmg w Finderze. Następnie wyrzuć pobrany plik .dmg.
źródło
Uruchom te polecenia na Mac High Sierra
i sprawdź za pomocą polecenia
źródło
Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Korzystanie napar
źródło
Najlepszym sposobem jest użycie menedżera pakietów Brew, ale polecenie
kończy się błędem:
Więc użyj
Jak znalazłem „caskroom / wersje / java8”: używając polecenia brew search:
źródło
Jeśli używasz go NIE do użytku osobistego, możesz zamiast tego użyć OpenJDK, aby uniknąć potencjalnego procesu sądowego ze strony Oracle.
źródło
Jeśli korzystasz z komputera Mac, Homebrew to sposób na zainstalowanie różnych rzeczy.
Wygląda na to, że wersja 8 nie jest już najnowsza, więc nie jest dostępna przy użyciu domyślnej
brew cask install java
.Zamiast tego udało mi się wykonać następujące czynności:
Jeśli to się nie powiedzie, po prostu spróbuj następnej bezpośrednio:
Testuj za pomocą
brew cask list
lubjava -version
źródło
Najprościej jest pobrać plik dmg z następującej witryny i zainstalować go podwójnym kliknięciem
poszukaj dostępnych maszyn JVM z katalogu domowego
i zaktualizuj plik .bash_profile z odpowiednią wersją
i w końcu
źródło
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.
1. zainstaluj Homebrew, jeśli jeszcze tego nie zrobiłeś. Upewnij się, że jest zaktualizowany:
2. Dodaj stuknij beczki, jeśli jeszcze tego nie zrobiłeś (lub nie widzisz już starszych wersji Java z krokiem 3):
3. i dla wersji AdoptOpenJDK dodaj ten stuknij:
Beczki te często zmieniają wersje Java i mogą istnieć inne krany z dodatkowymi wersjami Java.
4. Poszukaj wersji do zainstalowania:
lub dla wersji AdoptOpenJDK:
5. Sprawdź szczegóły dotyczące wersji, która zostanie zainstalowana:
lub dla wersji AdoptOpenJDK:
6. Zainstaluj określoną wersję JDK, taką jak java11, adoptopenjdk8 lub po prostu java lub adoptopenjdk dla bieżącego. Na przykład:
Możesz również użyć w pełni kwalifikowanej ścieżki do starszych wersji:
źródło
Możesz spróbować:
źródło
Najprostszy sposób
PS - Cask to rozszerzenie do Homebrew, które jest przeznaczone do zarządzania dużymi plikami binarnymi Mac i aplikacjami graficznymi, ale przy użyciu interfejsu Homebrew. Zobacz także tę odpowiedź na Apple StackExchange.
źródło
Próbować :
zaparz beczkę zainstaluj java 8 ,, da to następujący wynik
8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 icons8 vmware-fusion8 x48 zulu8
Następnie wpisz: brew cask install adoptopenjdk8 ---- java 8 zostanie zainstalowana na Macu.
źródło
Sugerowałbym użycie man SDK, który jest dość łatwy do zmiany wersji (tymczasowo i na stałe) i zapewnia również inne SDK. Korzystam z SDK Man od ponad roku.
https://sdkman.io/
źródło
Na dzień 3 maja 2020 r. W tej witrynie znajduje się link do pobrania dla jre8u251: https://java.com/en/download/mac_download.jsp
źródło
Poniższe kroki działały dla mnie.
1) Odinstaluj wszystkie jdks
W oknie Terminalu skopiuj i wklej poniższe polecenie:
2) Zainstaluj APPLE jdk.
https://support.apple.com/kb/DL1572?locale=en_US
3) Pobierz najnowszy JDK z Oracle i zainstaluj go, dla mnie był to JDK 1.82
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
To wszystko będzie działać jak urok.
źródło