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ę!
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ę!
Odpowiedzi:
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
/usr/libexec/java_home -v 11znaczy?
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.
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
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)
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)
$JAVA_HOMEzmienną env.
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
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