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 il lavoro sono ancora su Java 6. Quindi mi piacerebbe installare Java 7 "sul lato". È possibile? Se é cosi, come? Voglio essere sicuro di non perdere la mia installazione di Java 6 se eseguo il file .dmg da Oracle.

    
posta Wim Deblauwe 01.02.2013 - 17:57
fonte

2 risposte

6

Oracle 7 non rimuove Java 6 fornito da Apple. Cambia comunque / usr / bin / java per avviare Oracle Java.

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

    
risposta data 01.02.2013 - 18:27
fonte
0

Ho avuto una situazione simile al lavoro, quindi ho fatto un po 'di ricerche e, con un paio di minuti di setup, può essere quasi indolore passare da Java 6 a 7 (o 7 e 8, per quello importa - questo metodo è indipendente dalla versione).

Per chiunque abbia installato java, /usr/libexec/java_home mostrerà la directory JAVA_HOME, ma è particolarmente potente quando su OS X sono installate più versioni side-by-side.

Utilizzando il flag -V , puoi visualizzare tutti delle 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 questo insieme, questo è quello 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 adesso, il mio terminale è impostato su Java6, ma posso cambiarlo semplicemente digitando j7 sulla riga di comando (o modificando ~ / .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)
    
risposta data 22.02.2015 - 05:40
fonte

Leggi altre domande sui tag