Come avviare le app che richiedono Java su Mountain Lion con solo Java 7 installato?

3

Ho appena acquistato un MacBook Air nuovo di zecca, fornito con Mountain Lion 10.8.4 e senza Java installato. Esiste un /usr/bin/java , ma eseguirlo mi richiederebbe di installare un runtime Java 6 distribuito da Apple in una finestra di dialogo Cocoa.

Tuttavia, Oracle non supporta più Java 6 e non voglio eseguire un'installazione Java non supportata e probabilmente insicura.

Quindi, sono andato a download di Java SE di Oracle e installato l'ultimo JDK, jdk-7u25-macosx-x64 . Ora l'unico Java che ho su questa macchina è 1.7.0_25, distribuito da Oracle. /usr/bin/java -version ora funziona.

Ho appena eseguito brew cask install eclipse e ho finito con Eclipse 4.3. Quando ho provato a farlo, ho avuto la stessa richiesta di installare un runtime Java come se non avessi installato Java.

Quindi ho guardato qui su Apple StackExchange e ho trovato link . Dopo aver eseguito sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk , ora sono in grado di avviare Eclipse.

Tuttavia, quando provo ad avviare altre app che richiedono Java, come /usr/share/java/Tools/Java VisualVM.app e /opt/homebrew-cask/Caskroom/webstorm/6.0.2a/WebStorm.app , ricevo un messaggio che non è disponibile Java 1.6 compatibile (vedi sotto).

Qualcuno sa se è possibile far funzionare queste altre app o realmente richiede Java 6 e non può funzionare con Java 7?

    
posta user52440 13.07.2013 - 18:38
fonte

1 risposta

3

La finestra di dialogo viene mostrata perché Java di Oracle ha impostato solo un set parziale di "JVMCapabilities" e si pubblicizza come se fosse solo a linea di comando.

Come superutente (usa 'sudo' se stai modificando in Terminale), dovresti modificare /Library/Java/JavaVirtualMachines/jdk.1.7.[version-and-release].jdk/Contents/Info.plist e trovare la seguente chiave:

<key>JVMCapabilities</key>
  <array>
    <string>CommandLine</string>
  </array>

e aggiungilo per includere i valori mancanti:

<key>JVMCapabilities</key>
  <array>
    <string>CommandLine</string>
    <string>JNI</string>
    <string>BundledApp</string>
  </array>

Dopodiché, devi riavviare, disconnettersi o killall Finder , che sembra funzionare. (Le persone hanno riferito che il riavvio di Finder era sufficiente, ma ho dovuto disconnettermi.)

-
Fonte .

    
risposta data 29.01.2014 - 13:43
fonte

Leggi altre domande sui tag