Creación: 01-05-2012
Índice de contenidos
1.Introducción
2. Entorno
3.Descargando el paquete
4.Instalación del paquete con Java 7
5.Comprobemos que la instalación de Java 7 ha sido correcta
6.Conclusiones
7. Sobre el autor
1. Introducción
Hace tiempo que ya está entre nosotros la versión 7 de Java, pero desgraciadamente los usuarios de Mac OS X no podíamos instalarlo porque no había versión disponible para este sistema operativo. Pero, amigo, eso ha cambiado y la semana pasada Oracle saco la versión 7u4, donde una de sus característica es que ya se puede instalar para el sistema operativo de la manzana.
Y eso es precisamente lo que vamos a ver en este tutorial 🙂
2. Entorno
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil MacBook Pro 15′ (2.5 GHz Intel i7, 8GB 1333 Mhz DDR3, 256GB Solid State Drive).
- AMD Radeon HD 6770M 1024 MB
- Sistema Operativo: Mac OS X Lion 10.7.3
- Java 1.7.0_04-b21
3. Descargando el paquete
Hay que tener en cuenta antes de hacer la descarga que sólo está disponible para Lion y superiores, así que los usuarios de Snow Leopard o inferiores están de mala suerte.
También hay que tener en cuenta que está versión todavía tiene algunas deficiencias como que no soporta las tecnologías Java Plug-in y Java Web Start, por lo que por ejemplo no podremos ejecutar Applets en el navegador. Y además también hay unos cuantos
bugs conocidos. Así que desde luego no es una versión perfecta, pero por lo menos es un principio 😉
Descargaremos el paquete de la página de descargas de Oracle. El paquete viene con las versiones de 64-bit, tanto del JRE (Java Runtime Environment) como del JDK (Java Development Kit); así que podremos, no sólo ejecutar programas en Java 7, sino también desarrollarlos directamente en nuestro Mac !!!
En primer lugar aceptamos la licencia.
Ahora simplemente pinchamos sobre el enlace de descarga.
Es un paquete de 97,28 MB así que tardará un poquito, unos 6 minutos en mi caso.
4. Instalación del paquete con Java 7
Con el paso anterior nos habremos descargado el archivo jdk-7u4-macosx-x64.dmg. Hacemos doble click para abrirlo.
Ahora hacemos doble click sobre el paquete.
Damos a continuar.
Pulsamos para que instale Java para todos los usuarios y damos a continuar.
Finalmente damos al botón de instalar.
Como tiene que modificar ficheros del sistema nos pedirá la clave de nuestro usuario.
Hace la instalación y deberíamos ver la siguiente pantalla.
Pulsamos en cerrar y hemos terminado!
La instalación ha tenido que quedar en /Library/Java/JavaVirtualMachines/1.7.0.jdk
5. Comprobemos que la instalación de Java 7 ha sido correcta
Ahora podemos irnos a Applications –> Utilities –> Java Preferences
Podemos ver como Java 7 está instalado, pero en último lugar. Esto quiere decir que el sistema, salvo que le indiquemos lo contrario de alguna forma, siempre va a elegir primero Java 6. Para cambiar este comportamiento basta con pinchar y arrastrar Java 7 y ponerlo en primer lugar.
Para comprobar que está correcto podemos abrir un terminal y hacer:
1 2 3 4 |
$ java -version java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b21) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) |
También podemos comprobar el compilador con:
1 2 |
$ javac -version javac 1.7.0_04 |
Como veis todo está correcto, sin embargo hay un pequeño detalle adicional que creo que puede ser interesante cambiar. Si nos vamos al directorio /System/Library/Frameworks/JavaVM.framework/Versions
, y hacemos ls -la
veremos algo como:
1 2 3 4 5 6 7 8 9 10 11 |
drwxr-xr-x 11 root wheel 374 14 abr 10:30 ./ drwxr-xr-x 11 root wheel 374 14 abr 10:30 ../ lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.4@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.4.2@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.5@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.5.0@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.6@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.6.0@ -> CurrentJDK drwxr-xr-x 8 root wheel 272 14 abr 10:30 A/ lrwxr-xr-x 1 root wheel 1 14 abr 10:30 Current@ -> A lrwxr-xr-x 1 root wheel 59 14 abr 10:30 CurrentJDK@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents |
Si os fijáis en la última línea, el CurrentJDK sigue apuntando a la versión 6. Así que vamos a cambiarlo para que también apunte a al 7. Para ello hacemos:
1 2 3 |
$ sudo mv CurrentJDK CurrentJDK.backup $ sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents CurrentJDK $ sudo ln -s CurrentJDK 1.7 |
Si ahora hacemos otra vez ln -la
veremos que ha quedado algo como:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
drwxr-xr-x 13 root wheel 442 1 may 11:15 ./ drwxr-xr-x 11 root wheel 374 14 abr 10:30 ../ lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.4@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.4.2@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.5@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.5.0@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.6@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 14 abr 10:30 1.6.0@ -> CurrentJDK lrwxr-xr-x 1 root wheel 10 1 may 11:15 1.7@ -> CurrentJDK drwxr-xr-x 8 root wheel 272 14 abr 10:30 A/ lrwxr-xr-x 1 root wheel 1 14 abr 10:30 Current@ -> A lrwxr-xr-x 1 root wheel 52 1 may 10:46 CurrentJDK@ -> /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents lrwxr-xr-x 1 root wheel 59 14 abr 10:30 CurrentJDK.backup@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents |
6. Conclusiones
Por fin tenemos soporte nativo en Mac OS X para Java 7 y directamente de Oracle. Aunque ya hemos comentado al principio que esta versión tiene todavía algunas deficiencias, es un comienzo. Y el hecho de que venga de Oracle para mi confirma que ya no veremos más versiones de Java de la mano de Apple, por lo que no creo que lleguemos a verla como una actualización automática del sistema.
Pero esto sólo el tiempo lo dirá 😉
Por lo pronto ya sólo os queda practicar con las nuevas característica de Java 7, porque desde luego ya no hay excusa para no hacerlo 😛
7. Sobre el autor
Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y Certified ScrumMaster
Socio fundador de Autentia (Desarrollo de software, Consultoría, Formación)
mailto:alejandropg@autentia.com
Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»
Muy bien explicado, he visto muchas explicaciones y la mas
convincente y clara es la tuya. Sin
embargo, sigo con el mismo problema, estoy tratando de ejectutar
Forms 9i y Oracle 10g Base en
windows Server 2003 desde Mac Lion.
Utilizo Safari y Chrome, y cuando la mando llamar, la pagina se
queda en blanco.
http://serverhp:8888/forms90/f90servlet?config=mac
Java 7 esta configurado como en tu tutorial y he tratado con
diferentes configuraciones de fromsweb.com
sin obtener resultados satisfactorios.
[mac]
pageTitle=tittle Version 10.1.2 Web-Util
form=C:\\\\siccw\\\\HERCULES\\\\meppnu.fmx
#envFile=my_ENV_FILE.env
baseHTML=base.htm
baseHTMLjinitiator=basejini.htm
baseHTMLjpi=basejpi.htm
#webUtilArchive=webutil.jar,jacob.jar
archive_jini=gif.jar,frmall_jinit.jar
lookAndFeel=oracle
clientDPI = 96
imageBase=codeBase
separateFrame=false
networkRetries=30
otherparams=report_server=rep_ocs_ias
Nota: tengo usuarios windows trabajando con Java 6 trabajando sin
problemas, pero Mac no he podido.
Gracias por tu aportacion y ojala me pudieras ayudar con mi configuracion.
Daniel Ollivier Mijares.
Chihuahua, Mexico
Muy bueno el tutorial, especialmente el enlace de las versiones de Frameworks que sale al final.
Una cosa por si le sirve a los demás. Yo tenía instalado \\\»JDK 7 Developer preview\\\» y no me aparecía el nuevo JDK 7 de Oracle en las preferencias de Java.
Con borrarlo fue suficiente (aunque, parece mentira, invertí horas en google hasta que se me ocurrió hacer simplemente eso. Y fue movido por la desesperación)
Saludos y gracias
Gracia majo, me ha venido estupendamente para instalar la base de datos Cassandra. Ojo también porque en este caso me daba un error porque en .bash_profile estaba puesta la variable de entorno JAVA_HOME a la versión 6, que conviene ponerla a JAVA_HOME=$(/usr/libexec/java_home)
Muchas Gracias!
Me podría haber ahorrado un buen rato si lo hubiera encontrado antes 🙂