Come posso rimuovere completamente Java 6 di Apple e rendere Java 7 Oracle predefinito per tutto?


12

Vorrei rimuovere completamente Java 6 di Apple e rendere Java 7 Oracle predefinito per ogni programma. Ad esempio, con Eclipse ho dovuto giocherellare con eclipse.ini per specificare JAVA_HOME per Java 7 e lo stesso per TunnelBear. Nessuna fortuna per Aptana, però (vuole ancora Java di Apple) C'è un modo per rendere Java predefinito di Oracle in termini di PERCORSO?

macos  java 

1
Penso che Java 7 sia il valore predefinito per PATH poiché / usr / bin / java dovrebbe essere Java 7. Tuttavia, il problema è che .apps ha qualcos'altro nei suoi file .plist
user151019

Risposte:


4

Scarica e installa l'ultimo Java Development Kit (JDK) da Oracle, che lo inserirà /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk(o qualunque sia la versione più recente). Ora avvia Terminal.app e inserisci i seguenti comandi:

  1. cd /System/Library/Java/JavaVirtualMachines (passa alla directory corretta)

  2. sudo mv 1.6.0.jdk backup.1.6.0.jdk (tieni il vecchio JDK in giro, per ogni evenienza - per farlo dovrai avere una password di amministratore)

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk 1.6.0.jdk (collega la tua nuova installazione JDK a dove le applicazioni si aspettano che quella vecchia sia)

Tieni presente che con qualsiasi ulteriore aggiornamento di jdk, dovrai aggiornare il link simbolico alla nuova directory:

sudo rm /System/Library/Java/JavaVirtualMachines/1.6.0.jdk && sudo ln -s /Library/Java/JavaVirtualMachines/new_jdk_version /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Non dovresti creare il link simbolico 1.6.x, l'applicazione non si aspetta che jdk sia in / System. Semmai dovresti impostare JAVA_HOME nel tuo profilo.
anddam,

2

Queste istruzioni hanno funzionato bene per me su OS X Mavericks.

  • Rimuovi le JVM di Apple

    $ sudo rm -rf /System/Library/Java/JavaVirtualMachines/
  • Rimuovi i record dell'installer

    $ sudo rm /private/var/db/receipts/com.apple.pkg.JavaForMacOSX*
  • Rimuovi le ricevute del programma di installazione (elimina le <dict>...</dict>voci che fanno riferimento a com.apple e java)

    $ sudo emacs /Library/Receipts/InstallHistory.plist
  • Imposta i collegamenti simbolici per Java 7

    $ sudo rm /usr/bin/java
    $ sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/bin/java /usr/bin/java
  • Opzionalmente symlink JAVA_HOME

    sudo rm /Library/Java/Home
    sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home /Library/Java/Home

0

Bene, se installi l'ultimo aggiornamento Java da Apple, questo dovrebbe effettivamente disinstallare Java 6. Puoi andare direttamente al sito Web di Oracle per scaricare Java 7. È quello che ho fatto. Con solo Java 7 sul tuo sistema, questo dovrebbe renderlo predefinito.


Su Lion l'aggiornamento Java non ha disinstallato java di Apple - / usr / bin / java è ora Java 7 ma Java 6 è ancora utilizzabile come/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
user151019

Sto usando solo Java 7 e ottenere aggiornamenti Apple su Java è un po 'noioso. Lo voglio fuori - qualcuno è riuscito a farlo in questo modo, ancora? (vale a dire così tanto che Apple non invierebbe aggiornamenti specifici per Java; sto bene prendendo direttamente tutto Oracle).
akauppi

0

So che questo è un vecchio thread, ma se uno ha Adobe CS5 sulla propria macchina, DEVE AVERE la versione Apple 1.6 di Java per l'esecuzione della suite. Stavo eseguendo Eclipse che aveva bisogno di 1,7 o superiore. Ho pensato che avrebbe sostituito la versione Apple, ma non lo ha fatto. La versione Apple si trova nella cartella Sistema / Libreria e la versione Oracle si trova nella cartella Libreria.

Ho pensato di aggiungere qualche informazione in più per coloro che potrebbero aver bisogno di queste informazioni.

OS X Lion


Quelle informazioni sono nelle altre risposte
user151019

Non ho controllato. Scusa.
kdd
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.