3 votos

¿Es posible instalar JDK 7 después de instalar MATLAB en Mountain Lion?

Necesito instalar MATLAB utilizando una conexión a Internet, pero según los documentos No puedo instalar MATLAB con una conexión si tengo JDK 7 instalado en Mountain Lion. Según MATLAB, la solución es:

1) Instalar/activar manualmente sin usar Internet. MATLAB funcionará funcionará bien aunque tenga instalado el JDK 7 porque seguirá usando Java 6 de Apple que no se elimina cuando se instala JDK 7.

2) Alternativamente, puede desinstalar JDK 7 que le permitirá instalar y activar MATLAB a través de Internet.

Necesito una conexión a Internet, así que el número 1 no funcionará. También necesito el JDK 7, así que me preguntaba si podría desinstalar el JDK 7, instalar MATLAB y volver a instalar el JDK 7 sin romper MATLAB. ¿Es esto posible, o hay alguna otra solución?

1voto

P.T. Puntos 1429

Respuesta corta: Sí. Funcionará bien si vuelves a poner el JDK 7 después de la instalación. Aunque es posible que tengas que hacer lo mismo si decides desactivar Matlab en algún momento.

Tienes varias opciones.

Opción A: Utilizar un Matlab más reciente

Una solución fácil podría ser usar Matlab R2014a. Es compatible con Mavericks y viene con su propia JVM incluida para que no utilice las JVM del sistema. Acabo de instalarlo en mi máquina Mavericks la semana pasada, que ni siquiera tenía Java 1.6 de Apple instalado, y funcionó bien. (También miré la fuente para confirmar que su "Activación" utiliza el JRE incluido).

Opción B: Desinstalar temporalmente el JDK 7

Si eso no es una opción, parece que la eliminación del JDK 7 sólo es necesaria durante el proceso de instalación. Supongo que porque se desprende a la predeterminada java para el programa de activación del software en lugar de utilizar la lógica normal de detección e incrustación de JRE de la aplicación de Matlab. "Activar MATLAB" es un programa Java separado, no parte del ejecutable de Matlab, por lo que se ejecuta usando java . Así que puedes volver a poner JDK 7 una vez que Matlab esté instalado; la ejecución normal de Matlab no lo utilizará.

Puedes desinstalar temporalmente el JDK 7 con sólo moverlo fuera del /Library/Java para que el sistema no lo vea. Así no tendrás que volver a pasar por todo el proceso de descarga e instalación.

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 .

Puedes confirmar que la desinstalación ha funcionado con /usr/libexec/java_home .

Opción C: ¡Hackear el instalador de Matlab!

Si quieres ponerte elegante, podrías hackear el instalador de Matlab para forzarlo a usar el JDK 1.6 de Apple para la activación.

Durante el proceso de instalación, una vez copiados todos los archivos en /Applications pero antes de iniciar el diálogo de activación, haga lo siguiente:

  • Entra en /Applications en el Finder, haga clic con el botón derecho en MATLAB y elija "Mostrar contenido del paquete".
  • Inicie un editor de texto habilitado por el administrador desde la Terminal con sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit .
  • Abrir bin/activate_matlab.sh en ese TextEdit. Encuentre dónde está estableciendo las rutas de acceso java y los codificamos para que apunten al JDK 1.6 de Apple, que está en /System/Library/Java/JavaVirtualMachines/1.6.0.jdk . En el R2014a activate_matlab.sh, está en funciones setVMenvironment y setVMpath y establece una variable JRE_HOME, que debe establecerse como /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home .
  • Haga lo mismo con deactivate_matlab.sh

Y luego puedes proceder al paso de activación del software en el instalador de Matlab que dejaste funcionando, y apuesto a que funcionará incluso con el JDK 7 en su lugar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X