Jak zainstalować Javę 8 na Macu

991

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 /Libraryzamiast /System/Library(ani jaka jest różnica). Ale /usr/libexec/java_homenie 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 -Vwciąż 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?

użytkownik3763100
źródło
8
„Naprawdę idzie” tam, gdzie się skończył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.
awksp

Odpowiedzi:

1884

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:

brew cask install java

W wielu przypadkach użycia, w zależności od starszej wersji (zwykle Java 8), projekt AdoptOpenJDK umożliwia dodatkowy krok.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Obecni użytkownicy Homebrew mogą spotkać się z Error: Cask adoptopenjdk8 exists in multiple tapspowodu 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.

l3x
źródło
89
Od grudnia 2015 r. Nie jest już konieczne ręczne instalowanie beczki, ponieważ jest ona teraz częścią instalacji Homebrew. Więc po aktualizacji homebrew przez brew update, jesteś gotowy do użycia brew cask.
davetw12
63
Dzięki, to niesamowite, jak straszny jest proces instalacji Javy przy użyciu „oficjalnych” linków / dokumentów.
kraina krańców
15
@ tandrewnichols Właśnie uruchomiłem brew cask install javana moim komputerze Mac Capitan i trwa pobieranie jdk-8u112-macosx-x64.dmg.
Calrion
44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Elderry,
87
Obejściem na razie jest brew tap homebrew/cask-versionsużycie i użyciebrew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
735

Uwaga: Oracle Java 8/9/10 nie jest już dostępny do publicznego pobrania (zmiana licencji).

Najpierw zainstaluj i zaktualizuj napar z terminalu:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

NOWOŚĆ od czerwca 2019 r

Aby zainstalować JDK z AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

STARY

Java 8:

brew cask install java8

Najnowsze Java:

brew cask install java
kavehmb
źródło
3
Ciekawe, że nie działało to dla mnie na Mavericks, więc nie odpowiadało na pytanie PO, ale działało dla mnie na Kapitanie, więc było przydatne jako odpowiedź ..
Tommy
3
Zainstalowałem Homebrew Fresh na nowym komputerze z systemem OS X El Capitan i nie musiałem uruchamiać brew tappolecenia w powyższej odpowiedzi. Pierwsze i trzecie polecenie były wystarczające.
Adil Hussain
14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924,
4
$ 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
roottraveller
5
brew tap homebrew/cask-versionsi brew cask install adoptopenjdk8działa dla mnie na Hi Sierra 10.13.6
xjlin0
135

Java8 nie jest już dostępna w Homebrew, brew install java8nie będzie działać.

Zamiast tego użyj:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

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:

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup
Dave Kerr
źródło
2
Czy jest jakaś różnica w korzystaniu AdoptOpenJDK/openjdkzamiast używaniahomebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
Otrzymuję następujące odpowiedzi, gdy próbuję odpowiedzieć: Cask adoptopenjdk8 istnieje w wielu kranach: caskroom / wersje / adoptopenjdk8 adoptopenjdk / openjdk / adoptopenjdk8
Koray Tugay
@KorayTugay Zaktualizowałem odpowiedź, to powinno rozwiązać Twoje problemy!
Dave Kerr
1
@SeanBreckenridge - zespół HomeBrew pracuje nad tym, w tej chwili wygląda na to, że zostanie użyta AdoptOpenJDK, ale nadal istnieje niepewność, zobacz aktualnie otwarty problem github.com/AdoptOpenJDK/homebrew-openjdk/issues/106, aby uzyskać szczegółowe informacje!
Dave Kerr
1
brew cask install homebrew/cask-versions/adoptopenjdk8pracował dla mnie
protoEvangelion
123

Właśnie to zrobiłem na moim MBP i musiałem użyć

$ brew tap caskroom/versions
$ brew cask install java8

aby uzyskać java8 do zainstalowania.

Jain Waldrip
źródło
9
Pomogło mi to w instalacji konkretnej wersji Java. Teraz, gdy java 9 jest niedostępna, uruchomienie „brew cask install java” instaluje java 9. „brew cask install java8” nie działało dla mnie, dopóki nie uruchomiłem „brew tap caskroom / wersje”.
przerwać
6
Tak, brew tap caskroom/versionsjest wymagane przed zainstalowaniem java8
hendrix
11
lub po prostu brew install homebrew/cask-versions/java8dla wygranej!
Naruto Sempai
4
Nie można już instalować Java8 przy użyciu Brew, ze względu na zmiany licencji Oracle. Java8 nie jest już dostępna do publicznego pobrania.
Marcelo Xavier
2
Zobacz stackoverflow.com/a/55775566/9306378, jeśli nadal chcesz używać java8. Zauważ, że używa to OpenJDK.
Polpetta,
62

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:

  1. Nie musisz konfigurować żadnej wersji Java na komputerze lokalnym (po prostu uruchomisz Javę w kontenerze, który pobierasz z Docker Hub)
  2. Bardzo łatwo przejść do różnych wersji Java, po prostu zmieniając znacznik na kontenerze.
  3. Zależności projektu są instalowane w kontenerze - więc jeśli zepsujesz swoją konfigurację, możesz po prostu nuke kontener i zacząć od nowa.

Bardzo prosty przykład:

Utwórz Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Tutaj jesteśmy określając kontener Java z systemem w wersji 8 SDK ( java:8- używając Java 7, można tylko określić: java:7)
  • Odwzorowujemy katalog lokalny na katalog: /usr/src/myappwewnątrz kontenera

Utwórz docker-compose.ymlplik:

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

Załóżmy, że mamy ten plik Java:

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

Mamy więc następującą strukturę plików:

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

Możesz robić różne rzeczy Java, takie jak:

skompilować:

docker-compose run --rm java javac HelloWorld.java 
  • Należy zauważyć, że HelloWorld.class pojawia się w twoim bieżącym katalogu (jest to spowodowane tym, że zamapowaliśmy bieżący katalog na lokalizację w kontenerze, w którym istnieje nasz kod

biegać:

docker-compose run --rm java java HelloWorld 
  • Uwaga: przy pierwszym uruchomieniu program pobierze obraz itp. To potrwa chwilę - dzieje się to tylko za pierwszym razem
  • docker-compose run - uruchamia polecenie z poziomu kontenera
  • -rm każe dokerowi usunąć kontener po zakończeniu wykonywania polecenia
  • java to nazwa usługi / kontenera (z naszego pliku skompilowania dokera), dla której uruchomione zostanie to polecenie
  • reszta wiersza jest poleceniem do uruchomienia w kontenerze.

Jest 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ę:

toast38coza
źródło
2
Dobry przykład użycia Dockera, nie jestem pewien, dlaczego wcześniej otrzymałeś opinię negatywną.
Andrew
28
Wyobrażam sobie głos negatywny, ponieważ nie odpowiada to na pytanie o uruchamianie Javy na OS X / MacOS. Odpowiedź „Jak to zrobić na platformie X” za pomocą „Po prostu użyj maszyny wirtualnej / podkładki, aby to zrobić na platformie Y”, nie jest produktywna.
whitfin
szczególnie dla rodzimego programowania Java (np. przy użyciu SWIG, JNI i LIBRARY_PATH)
Mizux
56

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

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Aby zainstalować najnowszą wersję Java:

$ brew cask install java

Aby zainstalować java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Jeśli chcesz zainstalować / zarządzać wieloma wersjami, możesz użyć „jenv”:

Zainstaluj i skonfiguruj jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Dodaj zainstalowaną Javę do jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Aby zobaczyć wszystkie zainstalowane Java:

$ jenv versions

Powyższe polecenie wyświetli listę zainstalowanych programów Java:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Skonfiguruj wersję Java, której chcesz użyć:

$ jenv global oracle64-1.6.0.39

Aby ustawić JAVA_HOME:

$ jenv enable-plugin export
Lyncean Patel
źródło
2
Najlepsze rozwiązanie! Dziękuję Ci!
viktorianer
1
dzięki! właśnie tego szukałem.
csomakk
Dziękuję Ci. Zaczyna się od krótkiego i rzeczowego rozwiązania i kontynuuje z innym przydatnym narzędziem: „jenv” jest przydatny, aby go mieć i brakuje go w większości innych odpowiedzi. Pomógł w pakowaniu kodu Scala (2.12 / 2.13) w 2020 r.
cały
Działa jak urok, zainstaluj beczkę piwa adopopenjdk / openjdk / adoptopenjdk8
jeadonara
25

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 .

  1. Tutaj znajdziesz przydatny przewodnik, Podręcznik instalacji beczki Homebrew . Pamiętaj, aby dotknąć opcji „beczułka / wersje” uruchomionej w terminalu: brew tap caskroom/versions
  2. Następnie zainstaluj jenv z: brew install jenv
  3. Zainstalować niezależnie od wersji chcesz z beczki brew cask install java8(lub java7lub javajeśli chcesz zainstalować najnowszą wersję, jdk9)
  4. Ostatnim krokiem jest skonfigurowanie wersji do uruchomienia (i pozwolenie jenv na zarządzanie JAVA_HOME) 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

Benedetto Abbenanti
źródło
jenv jest dość łatwy i bardzo przydatny. Mam wiele projektów, które wymagają Java 8 i 11
Nikhil Sahu
20
brew cask install caskroom/versions/java8
Bieg
źródło
18

Jeśli masz kilka wersji Java na swoim komputerze i chcesz wybrać go dynamicznie w czasie wykonywania, tj. W moim przypadku mam dwie wersje:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Możesz je zmienić, modyfikując /etc/profilezawartość. Po prostu dodaj (lub zmodyfikuj) następujące dwa wiersze na końcu pliku:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

W moim przypadku powinienem wyglądać następująco:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

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 -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Proces jest podobny, jeśli folder Java znajduje się w różnych lokalizacjach.

nxhoaf
źródło
Dlaczego nie utworzyć aliasu dla innej wersji, na przykład alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet
14

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:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```

stderr
źródło
13

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.39i jego zbiór.

Nathan Dunn
źródło
1
+1: używam tego skryptu i zgadzam się, jest to dość przydatne dla deweloperów, którzy mają wiele projektów, które wymagają różnych wersji Java.
barclay
8
Naprawdę nie ma potrzeby ustawiania żadnych skryptów, o ile wystarczy użyć określonej wersji dla całego systemu. Zasadniczo wszystko, co musisz zrobić, to dodać do ~/.bashrclub ~/.bash_profile: eksportuj JAVA_HOME = "/ usr / libexec / java_home -v 1.8", a także dodać $JAVA_HOME/bindo, $PATHjeś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 ..)
ccpizza
jeśli chcesz zainstalować java 7 (wraz z java 8) przez homebrew, po komendzie brew tap caskroom/versionsnastępuje brew cask install java7.
icfantv
2
jenv to bardzo wygodne narzędzie do zarządzania wieloma wersjami Java, globalnie lub lokalnie dla katalogu.
Christian Long
12

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.

Schemat blokowy pomagający wybrać dostawcę implementacji Java 11

Pobierz instalator od dostawcy, takiego jak AdoptOpenJDK.net.

Strona pobierania w AdoptOpenJDK.net

Uruchom instalatora.

zrzut ekranu z uruchomionym instalatorem

JavaVirtualMachines folder jest teraz poprawny

Dlaczego instalator Oracle nie stawia tego, dokąd tak naprawdę idzie? Jak mogę obejść ten problem?

Żaden problem.

Folder /Library/Java/JavaVirtualMachines/jest nowym domem dla JVM na macOS .

zrzut ekranu folderu „/ Library / Java / JavaVirtualMachines /” w Finderze

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.

  • Ich Zululinia oparta jest bezpośrednio na OpenJDK i jest dostępna bezpłatnie z opcjonalnymi płatnymi planami wsparcia.
  • Ich Zinglinia 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.

  • Do wyboru silnik HotSpot lub silnik OpenJ9 .
  • Kompilacje dostępne dla systemów macOS, Linux i Windows.

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 .

Motywacje przy wyborze dostawcy dla Java.png


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:

  • Odwiedzenie /Library/Java/JavaVirtualMachines/folderu, aby zobaczyć element nowej maszyny JVM.
  • Uruchamianie konsoli, takiej jak Terminal.app i typ, java -versionaby zobaczyć markę i numer wersji JVM.

Po sprawdzeniu powodzenia odinstaluj obraz .dmg w Finderze. Następnie wyrzuć pobrany plik .dmg.

Basil Bourque
źródło
11

Uruchom te polecenia na Mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

i sprawdź za pomocą polecenia

java -version
TLbiz
źródło
Otrzymanie tego: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
Siddhartha,
7

Korzystanie napar

brew install Caskroom/cask/java
Santhosh
źródło
7

Najlepszym sposobem jest użycie menedżera pakietów Brew, ale polecenie

 brew cask install java8

kończy się błędem:

Error: No available formula with the name "java8" 

Więc użyj

brew cask install caskroom/versions/java8

Jak znalazłem „caskroom / wersje / java8”: używając polecenia brew search:

brew cask search java8
Navjot Bhardwaj
źródło
7

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.

brew cask install adoptopenjdk8
Edmund Lee
źródło
znajdź / usr / local / Homebrew / Library / Taps / | grep -i jdk | xargs rm -v jeśli się zdarzy, pojawi się komunikat „Błąd: Cask adoptopenjdk8 istnieje w wielu dotknięciach:” błąd ...
Yordan Georgiev
5

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:

brew install homebrew/cask-versions/

Jeśli to się nie powiedzie, po prostu spróbuj następnej bezpośrednio:

brew install homebrew/cask-versions/adoptopenjdk8

Testuj za pomocą brew cask listlubjava -version

Anas
źródło
+1, który działa dla mnie na macOS 10.12.6 Sierra. (Lub naparaj instaluj beczkę zainstaluj adopopenjdk / openjdk / adoptopenjdk8)
McAllister Bowman,
+1 Pierwsza nie powiodła się (błąd: brak dostępnej formuły o nazwie „homebrew / cask-wersje /”), ale druga działała. Zaktualizowana odpowiedź, aby uniknąć odstraszania ludzi przy pierwszej faillure.
Dennis Jaheruddin
4

Najprościej jest pobrać plik dmg z następującej witryny i zainstalować go podwójnym kliknięciem

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

poszukaj dostępnych maszyn JVM z katalogu domowego

ls -al /Library/Java/JavaVirtualMachines

i zaktualizuj plik .bash_profile z odpowiednią wersją

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

i w końcu

source ~/.bash_profile
vimal krishna
źródło
3

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:

brew update

2. Dodaj stuknij beczki, jeśli jeszcze tego nie zrobiłeś (lub nie widzisz już starszych wersji Java z krokiem 3):

brew tap homebrew/cask-versions

3. i dla wersji AdoptOpenJDK dodaj ten stuknij:

brew tap adoptopenjdk/openjdk

Beczki te często zmieniają wersje Java i mogą istnieć inne krany z dodatkowymi wersjami Java.

4. Poszukaj wersji do zainstalowania:

brew search java 

lub dla wersji AdoptOpenJDK:

brew search jdk     

5. Sprawdź szczegóły dotyczące wersji, która zostanie zainstalowana:

brew cask info java

lub dla wersji AdoptOpenJDK:

brew cask info adoptopenjdk

6. Zainstaluj określoną wersję JDK, taką jak java11, adoptopenjdk8 lub po prostu java lub adoptopenjdk dla bieżącego. Na przykład:

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

Możesz również użyć w pełni kwalifikowanej ścieżki do starszych wersji:

brew cask install homebrew/cask-versions/java11
Dean Jain
źródło
Prawdopodobnie zrobiłem coś złego, ale przy próbie wykonania java8 wystąpił błąd: Błąd: Beczka „java8” jest niedostępna: Nie istnieje beczka o tej nazwie.
Dennis Jaheruddin
2

Możesz spróbować:

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 

maniak
źródło
2

Najprostszy sposób

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

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.

sapy
źródło
zawsze instaluje najnowszą wersję
Ray Garner
1

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.

args
źródło
0

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/

Saif Ali
źródło
ty za wskazówkę do sdkman.io! Widziałem to z powodu tak długiego wątku, ale w stanie odczytać koniec. Fyi, ta wskazówka jest również powyżej stackoverflow.com/a/54101167/242110
AnneTheAgile
-4

Poniższe kroki działały dla mnie.

1) Odinstaluj wszystkie jdks

W oknie Terminalu skopiuj i wklej poniższe polecenie:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

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.

sembian
źródło