Jak obniżyć wersję Java z 9 do 8 na MACOS. Eclipse nie działa z Javą 9


97

Jak obniżyć wersję Java z 9 do 8 w systemie macOS Sierra 10.12.6 (16G29). Próbowałem usunąć wtyczkę Java i zainstalować Javę 8, jednak wersja Java i javac pokazuje 9 w terminalu, ale w preferencjach systemowych jest to 8. Z góry dziękuję!


Wersja MacOS może być odpowiednia; rozważ edytowanie i dodanie tego do pytania (nie publikowanie jako komentarza).
— AJNeufeld

Odpowiedzi:


308

Nie musisz obniżać oceny. W systemie MacOS można uruchomić więcej niż jedną wersję oprogramowania Java. Możesz ustawić wersję swojego terminala za pomocą tego polecenia w systemie MacOS.

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

Możesz ustawić wartość domyślną w .bashrc, .profile lub .zprofile


3
Wielkie dzięki, to mi pomogło! Szkoda, że ​​Java Control Panel w MacOS nie ujawnia takich ustawień.
— sesm

Czy mógłbyś rozwinąć swoją odpowiedź? Co to /usr/libexec/java_home -v 11znaczy?
— Sandeepan Nath

1
Robi export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)i export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)nie rozwiązuje mojego problemu. Już zrestartowałem również mój terminal.
— HendraWD,

143

Tak to zrobiłem. Nie musisz usuwać oprogramowania Java 9 ani nowszej wersji.

Krok 1: Zainstaluj Javę 8

Możesz pobrać Javę 8 tutaj: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Krok 2: Po instalacji Java 8. Potwierdź instalację wszystkich wersji. Wpisz następującą komendę w terminalu.

/usr/libexec/java_home -V

Krok 3: Edytuj .bash_profile

sudo nano ~/.bash_profile

Krok 4: Dodaj domyślnie 1.8. (Dodaj poniższą linię do pliku bash_profile).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Teraz naciśnij CTRL + X, aby wyjść z basha. Naciśnij „Y”, aby zapisać zmiany.

Krok 5: Załaduj ponownie bash_profile

source ~/.bash_profile

Krok 6: Potwierdź aktualną wersję Java

java -version

Czy można zmienić wersję javaws w ten sam sposób? Ponieważ wersja java informuje, że uległa zmianie, ale javaws nadal działa najnowsza dostępna.
— lapkritinis

11

Jeśli masz wiele wersji Java zainstalowanych na komputerze Mac, oto szybki sposób zmiany wersji domyślnej za pomocą Terminala. W tym przykładzie zamierzam przełączyć Java 10 na Java 8.

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

Następnie w swoim .bash_profile dodaj następujące elementy.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

Teraz, jeśli spróbujesz ponownie java -version, powinieneś zobaczyć żądaną wersję.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

4

Ponieważ pozwala na zainstalowanie więcej niż jednej wersji javy, nieświadomie zainstalowałem wiele 3 wersji, ale chodziło o najnowszą wersję "11.0.2"

Mogę rozwiązać ten problem, wykonując poniższe czynności, aby przejść do wersji „1.8”

$java -version

wersja openjdk „11.0.2” 2019-01-15 Środowisko wykonawcze OpenJDK 18.9 (kompilacja 11.0.2 + 9) 64-bitowa wersja OpenJDK Server VM 18.9 (wersja 11.0.2 + 9, tryb mieszany)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

wersja java „1.8.0_202-ea” Java (TM) SE Runtime Environment (kompilacja 1.8.0_202-ea-b03) Java HotSpot (TM) 64-bitowa maszyna wirtualna serwera (wersja 25.202-b03, tryb mieszany)


Unikałbym usuwania plików w twoim systemie. Zamiast tego po prostu przekieruj $JAVA_HOMEzmienną env.
— simeg

3

Stare pytanie, ale właśnie miałem ten problem / głupi jira ma problemy z Javą 10 / i nie znalazłem tutaj prostej odpowiedzi, więc zostawię to:

$ /usr/libexec/java_home -Vpokazuje zainstalowane wersje i ich lokalizacje, dzięki czemu można je po prostu usunąć /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Voila


1

Najprostszym rozwiązaniem może być zainstalowanie środowiska Java 8 równolegle z językiem Java 9 (jeśli jeszcze nie istnieje) i określenie maszyny JVM, która ma być używana jawnie w eclipse.ini. Opis tego ustawienia, w tym opis, jak znaleźć eclipse.inina komputerze Mac, można znaleźć w witrynie Eclipsepedia


-2

Możesz usunąć „JavaAppletPlugin.plugin” znaleziony w Spotlight lub Finder, a następnie ponownie zainstalować pobraną Javę 8.

To po prostu rozwiąże Twój problem.

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.