Come eseguire il downgrade di Java da 9 a 8 su un MACOS. Eclipse non è in esecuzione con Java 9


94

Come eseguire il downgrade di Java da 9 a 8 su macOS Sierra 10.12.6 (16G29). Ho provato a rimuovere il plugin Java e ho installato Java 8, tuttavia la versione Java e javac mostra 9 nel terminale, ma nelle preferenze di sistema è 8. Grazie in anticipo!


La versione di MacOS potrebbe essere rilevante; considera la possibilità di modificarlo e aggiungerlo alla domanda (non pubblicare come commento)
AJNeufeld

Risposte:


304

Non è necessario scendere di livello. Puoi eseguire più di una versione di Java su MacOS. Puoi impostare la versione del tuo terminale con questo comando in 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)

È possibile impostare il valore predefinito nei file .bashrc, .profile o .zprofile


3
Grazie mille, questo mi ha aiutato! È un peccato che il pannello di controllo Java in MacOS non esponga impostazioni come questa.
sesm

Potresti elaborare la tua risposta? Cosa /usr/libexec/java_home -v 11significa?
Sandeepan Nath

1
Fare export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)e export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)non risolve il mio problema. Ho già riavviato anche il mio terminale.
HendraWD

143

Ecco come l'ho fatto. Non è necessario eliminare Java 9 o una versione più recente.

Passaggio 1: installa Java 8

Puoi scaricare Java 8 da qui: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Passaggio 2: dopo l'installazione di Java 8. Conferma l'installazione di tutte le versioni. Digita il seguente comando nel tuo terminale.

/usr/libexec/java_home -V

Passaggio 3: modifica .bash_profile

sudo nano ~/.bash_profile

Passaggio 4: aggiungi 1.8 come predefinito. (Aggiungi sotto la riga al file bash_profile).

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

Ora premi CTRL + X per uscire dalla bash. Premi "Y" per salvare le modifiche.

Passaggio 5: ricarica bash_profile

source ~/.bash_profile

Passaggio 6: confermare la versione corrente di Java

java -version

È possibile cambiare la versione di javaws allo stesso modo? Perché java -version segnala che è cambiato, ma javaws esegue ancora l'ultima versione disponibile.
lapkritinis

11

Se hai più versioni di Java installate sul tuo Mac, ecco un modo rapido per cambiare la versione predefinita utilizzando Terminale. In questo esempio, passerò da Java 10 a 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

Quindi, nel tuo .bash_profile aggiungi quanto segue.

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

Ora, se provi di nuovo a java -version, dovresti vedere la versione che desideri.

$ 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

Dato che permette di installare più di una versione di java, ho dovuto installare molte 3 versioni inconsapevolmente ma era puntato all'ultima versione "11.0.2"

Potrei risolvere questo problema con i passaggi seguenti per passare a "1.8"

$java -version

openjdk versione "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2 + 9) OpenJDK 64-bit Server VM 18.9 (build 11.0.2 + 9, modalità mista)

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

Java versione "1.8.0_202-ea" Java (TM) SE Runtime Environment (build 1.8.0_202-ea-b03) VM server Java HotSpot (TM) a 64 bit (build 25.202-b03, modalità mista)


Eviterei di rimuovere i file dal tuo sistema. Invece basta reindirizzare la $JAVA_HOMEvariabile env.
simeg

3

Vecchia domanda ma ho appena avuto quel problema / stupida jira che ha problemi con java 10 / e non ho trovato una risposta semplice qui, quindi la lascerò:

$ /usr/libexec/java_home -Vmostra le versioni installate e le loro posizioni in modo che tu possa semplicemente rimuovere /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Ecco


1

La soluzione più semplice potrebbe essere installare Java 8 in parallelo a Java 9 (se non ancora esistente) e specificare la JVM da utilizzare esplicitamente in eclipse.ini. È possibile trovare una descrizione di questa impostazione inclusa una descrizione come trovarla eclipse.inisu un Mac su Eclipsepedia


-2

Puoi rimuovere "JavaAppletPlugin.plugin" trovato in Spotlight o Finder, quindi reinstallare Java 8 scaricato.

Questo risolverà semplicemente il tuo problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.