E 'possibile installare JDK 7 dopo aver installato MATLAB su Mountain Lion

3

Ho bisogno di installare MATLAB usando una connessione internet, ma secondo i documenti Non riesco a installare MATLAB con una connessione se ho installato JDK 7 su Mountain Lion. Secondo MATLAB, la soluzione è:

1) Install/activate manually without using Internet. MATLAB will work fine even if you have JDK 7 installed because it will still be using Apple's Java 6 that does not get removed when JDK 7 is installed.

2) Alternatively, you may uninstall JDK 7 which will let you install and activate MATLAB using Internet.

Ho bisogno di una connessione internet, quindi il numero 1 non funzionerà. Ho bisogno anche di JDK 7, quindi mi chiedevo se sarei stato in grado di disinstallare JDK 7, quindi installare MATLAB, quindi reinstallare JDK 7 senza interrompere MATLAB. È possibile o ci sono altri accorgimenti?

    
posta fvrghl 08.10.2013 - 13:44
fonte

1 risposta

1

Risposta breve: sì. Funzionerà bene se rimettessi JDK 7 dopo l'installazione. Sebbene tu possa dover fare la stessa cosa se decidi di disattivare la Matlab ad un certo punto.

Hai alcune opzioni.

Opzione A: usa un Matlab più recente

Una soluzione semplice potrebbe essere l'uso di Matlab R2014a. Supporta Mavericks e viene fornito con la sua JVM in bundle in modo che non utilizzi le JVM di sistema. L'ho appena installato sulla mia macchina Mavericks la settimana scorsa, che non aveva nemmeno installato Java 1.6 di Apple, e ha funzionato bene. (Ho anche guardato il sorgente per confermare che "Activate" usa il JRE in dotazione.)

Opzione B: Disinstalla temporaneamente JDK 7

Se non è un'opzione, sembra che la rimozione di JDK 7 sia necessaria solo durante il processo di installazione. Lo indovino perché esegue il shell out al java predefinito per il programma di attivazione del software invece di utilizzare la normale logica di rilevamento e incorporamento del JRE dell'app Matlab. "Activate MATLAB" è un programma Java separato, non parte dell'eseguibile Matlab, quindi viene eseguito utilizzando java . Quindi puoi rimettere JDK 7 una volta installato Matlab; la normale esecuzione di Matlab non la userà.

È possibile disinstallare temporaneamente il JDK 7 semplicemente spostandolo dalla directory /Library/Java in modo che il sistema non lo veda. Quindi non è necessario eseguire nuovamente l'intero processo di download e installazione.

cd /Library/Java/JavaVirtualMachines
mkdir ~/disabledJVMs
sudo mv jdk1.7.0_51.jdk ~/disabledJVMs
% also change the JAVA_HOME definition if you set it in an rc file or /etc/launchd.conf

% ... now install Matlab ...

% And restore the JDK
sudo mv ~/disabledJVMs/jdk1.7.0_51.jdk .

Puoi confermare la disinstallazione lavorata con /usr/libexec/java_home .

Opzione C: Hack the Matlab Installer!

Se vuoi essere fantasioso, potresti effettivamente hackerare il programma di installazione di Matlab per forzare l'uso di JDK 1.6 di Apple per l'attivazione.

Durante il processo di installazione, una volta copiati tutti i file in /Applications ma prima di avviare la finestra di dialogo Attivazione, procedere come segue:

  • Accedi a /Applications nel Finder, fai clic con il pulsante destro del mouse su MATLAB e scegli "Mostra contenuto pacchetto".
  • Avvia un editor di testo abilitato all'amministratore dal terminale con sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit .
  • Apri bin/activate_matlab.sh in TextEdit. Trova dove imposta i percorsi su java e imposta l'hardcode in modo che punti al JDK Apple 1.6, che è in /System/Library/Java/JavaVirtualMachines/1.6.0.jdk . In R2014a activate_matlab.sh, è nelle funzioni setVMenvironment e setVMpath , e imposta una variabile JRE_HOME, che deve essere impostata su /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home .
  • Fai lo stesso con deactivate_matlab.sh

E poi puoi procedere alla fase di attivazione del software nel programma di installazione di Matlab che hai lasciato in esecuzione, e scommetto che funzionerà anche con JDK 7 in posizione.

    
risposta data 19.03.2014 - 06:26
fonte

Leggi altre domande sui tag