Come installare Java 7 accanto a Java 6?


7

Sto usando un MackBook Pro con Mac OS X 10.8.2. Attualmente ho Java 6 installato:

wdb-laptop:~ wdb$ 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)

Vorrei installare Java 7 per giocare con JavaFX, tuttavia, tutte le mie app per lavoro sono ancora su Java 6. Quindi vorrei installare Java 7 "sul lato". È possibile? Se é cosi, come? Voglio assicurarmi di non perdere l'installazione di Java 6 se eseguo il .dmg da Oracle.

Risposte:


6

L'oracolo Java 7 non rimuove Java 6. fornito da Apple, ma cambia / usr / bin / java per avviare Oracle Java.

Per avviare un jar con Java 6 invece di usare semplicemente java dalla riga di comando, inserisci il percorso completo di java ie /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java


0

Ho avuto una situazione simile al lavoro, quindi ho fatto un po 'di ricerca e, con un paio di minuti di installazione, può essere quasi indolore passare da Java 6 a 7 (o 7 e 8, del resto - questo il metodo è agnostico).

Per chiunque abbia installato java, /usr/libexec/java_homemostrerà la directory JAVA_HOME, ma è particolarmente potente quando hai più versioni di java installate fianco a fianco su OS X.

Usando il -Vflag, puoi vedere tutte le JVM installate:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.7.0_67, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
    1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-466.1, i386:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Puoi anche ottenere il valore JAVA_HOME per una JVM specifica come questa:

$ /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home

Mettendo tutto insieme, questo è ciò che ho aggiunto al mio ~ / .profile :

## java home
alias j6="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.6);echo 'using Java 6'"
alias j7="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.7);echo 'using Java 7'"
## manual switch for 1.6 or 1.7
j6 ## enable java 6 (or just run j6 in terminal)
## j7 ## enable java 7 (or just run j7 in terminal)

Quindi puoi vederlo in questo momento, il mio terminale è predefinito su Java6, ma posso cambiarlo semplicemente digitando j7sulla riga di comando (o modificando il ~ / .profile):

$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)    
$ j7
using Java 7
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
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.