Come posso passare tra le due versioni Java in Mountain Lion ora che Java Preferenze non c'è più?


32

Ho due versioni di Java installate con Mountain Lion:

L'aggiornamento da Apple rimuove le Preferenze Java . In un'altra domanda qualcuno si chiede della rimozione di tale utilità.

La mia domanda è diversa:

  • come posso passare tra le due versioni ora che Java Preferenze non c'è più?

In precedenza avevo usato l'utilità di Apple per impostare facilmente le preferenze Java. Senza quell'utilità, esiste un modo semplice e veloce?


C'è qualche motivo per cui non è possibile reinstallare le Preferenze Java ?
Chharvey,

@ TestSubject528491 Come posso farlo?
Maverik,

Penso che questo ti aiuterà, non l'ho ancora provato nella mia macchina. Vedere i passaggi 12 e 13 dal seguente link wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux . Puoi ripetere i passaggi per passare da java .. spero che questo ti aiuti ..
Dilip Rajkumar,

@DilipRajkumar È per Linux ....
Maverik,

Scusa se ho erroneamente supposto che il comando linux funzionerà su Mac .. Se dovessi essere fortunato con un'altra soluzione, suggerisco di
no

Risposte:


12

Potrebbero essere necessari due approcci:

  • uno per cambiare la versione del solo plug-in dell'applet
  • un altro approccio per cambiare la versione per altre parti di JRE senza cambiare la versione per il plug-in dell'applet.

Il mio caso d'uso recente :

  • Java 8 per app che non utilizzano il plug-in
  • Java 7 Update 9 per il plug-in dell'applet.

Per cambiare il plug-in dell'applet ma non altre parti di JRE / JDK da Java 8 a Java 7 Update 9

  1. chiudere i browser Web e tutte le altre app che utilizzano Java o il plug-in dell'applet Java
  2. installa JDK 8
  3. mettere da parte il plug-in
  4. installa JRE 7 Update 9 o JDK 7 Update 09.

Mettere da parte: mossa suggerita

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /private/var/tmp

Se prevedi di cambiare frequentemente, potresti preferire una posizione temporanea diversa.

Risultato

sh-3.2$ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b58)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b02, mixed mode)
sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

Allo stesso tempo:

Schermata della verifica di Oracle della versione Java in Safari

Per cambiare il plug-in dell'applet ma non altre parti di JRE / JDK da Java 7 Update 9 a Java 6 Update 37

Risposte in:


Per cambiare JRE ma non il plug-in dell'applet da Java 8 a Java 7 Update 9

Installa JDK 7 Update 09 quindi JDK 8

  • il sistema operativo e le app saranno predefiniti per utilizzare la versione più grande.

Esci da tutte le app che utilizzano Java. Non è necessario chiudere il browser.

Metti da parte la jdk1.8directory ... da

/Library/Java/JavaVirtualMachines

  • il sistema operativo e le app utilizzeranno Java 7 Update 9.

Per cambiare JRE ma non il plug-in dell'applet da Java 7 Update 9 a Java 6 Update 37

Esci da tutte le app che utilizzano Java. Non è necessario chiudere il browser.

Metti da parte la jdk1.7directory ... da

/Library/Java/JavaVirtualMachines

  • il sistema operativo e le app utilizzeranno Java 6 Update 37.

Esempio

macbookpro08-centrim:~ gjp22$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
macbookpro08-centrim:~ gjp22$ sudo mv /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk /private/var/tmp
Password:
macbookpro08-centrim:~ gjp22$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

Generalmente

Per gli utenti di OS X, alcune delle funzionalità fornite da Oracle inizialmente sono fuorvianti:

… e così via.

Semplicità

Sebbene nessuna delle precedenti sia semplice come passare con l'app Java Preferenze precedentemente installata da Apple, l'approccio relativamente semplice di accantonamento (senza necessità di una disinstallazione speciale) ricorda il desiderio di installazione con trascinamento della selezione ... precedentemente espresso in l'area openjdk-osx-build .

Qualcuno potrebbe voler costruire un'app, ma non dovrei raccomandare l'uso di symlink: funzionerebbe, ma potrebbe non essere coerente con i futuri approcci di trascinamento dell'installazione.

Note a margine

Al momento in cui scrivo, le versioni supportate più recenti per le quali Oracle rende disponibili al pubblico gli aggiornamenti sono (per piattaforme diverse da OS X) Java 6 Update 37 e (per piattaforme tra cui OS X) Java 7 Update 9.

Poiché saranno rese disponibili versioni più grandi, reinterpretare questa risposta di conseguenza.

La terminologia della versione Java in questa risposta è in linea con la terminologia del Centro assistenza Java .


Ti riferisci davvero a Java 8 o è un errore? :-)
Maverik

1
Davvero ;-) ... per favore vedi le domande collegate, colonna di destra.
Graham Perrin,

4
Ecco un suggerimento se si utilizza JDK8 e si desidera passare frequentemente. Semplicemente chmod 0000 la directory JDK8 per spegnerlo sudo chmod 0000 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/e riaccenderlo sudo chmod 0755 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/.
Brett Ryan,

1
L'ultimo suggerimento di @BrettRyan ha funzionato perfettamente per me. Penso che sia il modo più semplice per andare.
Artem,

1
Grazie mille @BrettRyan è stato il più semplice !!! Suggerisco all'autore della risposta di aggiungerla come alternativa. Ho creato un .sh nella mia cartella home con i comandi e ho creato un Automator associato a un tasto che passa da uno all'altro. Stupefacente!
Panthro,

29

Apri un terminale usa questo comando:

/usr/libexec/java_home -v 1.6 

È possibile modificare 1.6 in qualsiasi versione di Java che si desidera utilizzare e il comando genererà la posizione in cui risiede quella versione di Java. (es .: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home)

quindi puoi impostare JAVA_HOME come faresti normalmente con l'output del comando precedente. vale a dire:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Quindi per semplificare; qualcosa del genere dovrebbe funzionare:

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

ricordati di controllare la versione con:

java -version

Spero che sia d'aiuto.


4
Questa è la risposta più utile a questo problema che ho trovato ovunque online. GRAZIE!
SearchTools-Avi,

1
Ok, QUESTA dovrebbe essere la risposta accettata. Ho un JAR di aggiornamento obbligatorio per un server applicazioni che ho installato e funzionerà SOLO su Java 6. Usando questo, sono stato in grado di passare a Java 6, eseguire il programma di aggiornamento, quindi tornare indietro. Ora posso aggiornare il server delle applicazioni per l'esecuzione su Java 7.
Adrian J. Moreno,

4

Sembra che dovrai farlo manualmente. La documentazione di Oracle afferma che è possibile installare un solo JRE alla volta .

Questa pagina di supporto Apple descrive come passare da Apple SE 6 JRE a Oracle SE 7 JRE . In breve, per passare da Oracle JRE a Apple, avvia l'app Terminale e digita quanto segue:

sudo mkdir -p /Library/Internet\ Plug-Ins/disabled

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled

sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

Nella pagina di supporto sono disponibili ulteriori (e migliori) istruzioni su come passare a Web Start su JRE 6 e su come ripristinare tutto su Oracle JRE 7 (reinstallare JRE).

Non semplice come usare l'utilità Preferenze Java, ma meglio di niente.


1
L'uso recente di Oracle del termine JRE è fuorviante per gli utenti di OS X. Il JRE è molto più del plug-in.
Graham Perrin,

2

basato sulla risposta di user2343996

alias java8="export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) && java -version"
alias java6="export JAVA_HOME=$(/usr/libexec/java_home -v 1.6) && java -version"

-4

Perché è necessario disporre di 2 versioni di Java installate?

Apple non ha Java installato come aggiornamento predefinito (da Lion in poi credo). Il modo migliore per verificare / installare Java su un Mac è il seguente:

  1. Terminale aperto. Digita "java" (senza virgolette ovviamente)
  2. Se java non è presente, viene visualizzato quanto segue: "Nessun Java Runtime presente, richiesta di installazione ..."
  3. Java inizia l'installazione normalmente (questo è il falso eseguibile che avvia l'installazione)
  4. Se hai java per controllare la versione, nel terminale digita "java-version"

Se vuoi installare una versione diversa di java: vai sul sito dell'oracolo e scarica il jdk più recente / più vecchio.


Ho già due versioni di Java come ho scritto nella domanda. Sto chiedendo come modificare quello predefinito.
Maverik,

Penso che passi automaticamente all'ultima versione / all'ultima versione installata. Nel mio caso ho installato jdk 7 per ultimo. Quindi è quello che funziona di default.
SashaZd,

3
Voglio essere in grado di passare da una versione all'altra.
Maverik,

Esistono differenze tra Apple JDK 6 e Oracle JDK 7 che possono causare incompatibilità, sia in fase di compilazione che in fase di esecuzione.
JohnnyO

1
In generale, non proviamo a cambiare le premesse di qualcuno a meno che non possiamo offrire un'alternativa competitiva o avvincente quando la risposta è semplicemente no. Scoraggiamo anche la richiesta di voti, quindi l'ho modificato in base alla tua risposta.
bmike
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.