sierra powered para mac instalar high descargar actualizar java java-11

para - java powered



¿Cómo instalo Java en Mac OSX permitiendo el cambio de versión? (5)

Quiero instalar OpenJDK Java en Mac OSX y hacer que funcione junto con otros JDK ya que es una versión más reciente. Actualmente, descargué el archivo tar.gz y lo coloqué en mi camino, pero eso es difícil de mantener.

La única otra instalación que encontré que hace más cosas automáticamente es la instalación a través del barril Homebrew. Parece que solo la versión actual también:

brew cask info java

Muestra:

java: 12,33
https://jdk.java.net/

Así que puedo instalar desde allí, pero entonces, ¿qué? ¿Estoy atascado sólo con la nueva versión?

Actualización: A partir del 19 de marzo de 2019, el barril Homebrew ahora apunta a OpenJDK 12


Así es como lo hice.

Paso 1: Instalar Java 11

Puede descargar Java 11 dmg para mac desde aquí: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

Paso 2: Después de la instalación de Java 11. Confirme la instalación de todas las versiones. Escriba el siguiente comando en su terminal.

/usr/libexec/java_home -V

Paso 3: Editar .bash_profile

sudo nano ~/.bash_profile

Paso 4: Agrega 11.0.1 como predeterminado. (Agregue la línea inferior al archivo bash_profile).

export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)

para cambiar a cualquier versión

export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)

Ahora presione CTRL + X para salir del bash. Presione ''Y'' para guardar los cambios.

Paso 5: Volver a cargar bash_profile

source ~/.bash_profile

Paso 6: Confirmar la versión actual de Java

java -version


En mi humilde opinión, no es necesario instalar todas las aplicaciones / paquetes adicionales.

Verifique las versiones disponibles usando el comando:

> /usr/libexec/java_home -V Matching Java Virtual Machines (8): 11, x86_64: "Java SE 11-ea" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home 10.0.2, x86_64: "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home 9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home 1.8.0_181-zulu-8.31.0.1, x86_64: "Zulu 8" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home 1.8.0_151, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home 1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home 1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Ahora, si desea seleccionar Azul JDK 8 en la lista anterior, y NO el Java SE 8 de Oracle, invoque el comando de la siguiente manera:

> /usr/libexec/java_home -v 1.8.0_181 /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

Para elegir Java SE 8 de Oracle, debe invocar el comando:

> /usr/libexec/java_home -v 1.8.0_151 /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

Como puede ver, el número de versión proporcionado será el conjunto único de cadenas: 1.8.0_181 vs 1.8.0_151


Otra alternativa es usar SDKMAN ! Consulte https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11-using-sdkman/

Primero instale SDKMAN: https://sdkman.io/install y luego ...

  1. Instale Oracle JDK 8 con: sdk install java 8.0.181-oracle
  2. Instala OpenJDK 11 con: sdk install java 11.0.0-open

Para cambiar:

  • Cambie a JDK 8 con sdk use java 8.0.181-oracle
  • Cambie a JDK 11 con sdk use java 11.0.0-open

Para establecer un valor predeterminado:

  • Predeterminado a JDK 8 con sdk default java 8.0.181-oracle
  • Predeterminado a JDK 11 con sdk default java 11.0.0-open

Cambio manual de la versión predeterminada del sistema sin herramientas de terceros:

Como se detalla en esta respuesta anterior , en macOS /usr/bin/java es una herramienta de envoltura que usará la versión de Java señalada por JAVA_HOME o si esa variable no está configurada buscará las instalaciones de Java en /Library/Java/JavaVirtualMachines/ y utilizará el que tiene la versión más alta. Determina las versiones al mirar Contents/Info.plist debajo de cada paquete.

Armado con este conocimiento usted puede:

  • controla qué versión utilizará el sistema cambiando el nombre de Info.plist en las versiones que no quieras usar como predeterminadas (ese archivo no es usado por el propio tiempo de ejecución de Java).
  • controla qué versión usar para tareas específicas configurando $JAVA_HOME

Acabo de verificar que esto sigue siendo cierto con OpenJDK y Mojave.

En un sistema completamente nuevo, no hay una versión de Java instalada:

$ java -version No Java runtime present, requesting install.

Cancele esto, descargue OpenJDK 11 y 12ea en https://jdk.java.net/ ; instala OpenJDK11:

$ cd /Library/Java/JavaVirtualMachines/ $ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz

El sistema java ahora es 11:

$ java -version openjdk version "11.0.1" 2018-10-16 [...]

Instale OpenJDK12 (acceso temprano en este momento):

$ sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz

El sistema java ahora es 12:

$ java -version openjdk version "12-ea" 2019-03-19 [...]

Ahora "ocultemos" OpenJDK 12 del envoltorio java del sistema:

$ cd jdk-12.jdk/Contents/ $ sudo mv Info.plist Info.plist.disabled

El sistema java está de vuelta a 11:

$ java -version openjdk version "11.0.1" 2018-10-16 [...]

Y aún puede usar la versión 12 puntualmente configurando manualmente JAVA_HOME :

$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home $ java -version openjdk version "12-ea" 2019-03-19 [...]


nota: estas soluciones funcionan para varias versiones de Java, incluidas Java 11 y la nueva Java 12, y para cualquier otra versión anterior de Java cubierta por los administradores de versiones enumerados. Esto incluye JDK alternativos de OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal y más. ¡Trabaja fácilmente con Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 e incluso con acceso temprano a Java 13!

Tiene algunas opciones para realizar la instalación y para administrar el cambio de JDK. La instalación se puede realizar por Homebrew, SDKMAN , Jabba o una instalación manual. El cambio se puede realizar mediante JEnv , SDKMAN , Jabba o manualmente configurando JAVA_HOME . Todos estos se describen a continuación.

Instalación

Primero, instale Java usando el método que prefiera, incluyendo Homebrew, SDKMAN o una instalación manual del archivo tar.gz. Las ventajas de una instalación manual es que la ubicación del JDK se puede colocar en una ubicación estandarizada para Mac OSX.

Instalar con SDKMAN

Este es un modelo simple porque maneja tanto la instalación como el cambio de versión, con la advertencia de que instala el JDK en un directorio no estándar.

< ver más abajo "Instalación y cambio de versiones con SDKMAN" >

Instalar utilizando Jabba

Este es también un modelo simple en el que tanto la instalación como el cambio de versión se manejan con la misma herramienta. Las instalaciones se realizan en un directorio no estándar.

< ver más abajo "Instalación y cambio de versiones con Jabba" >

Instalar manualmente desde la página de descarga de OpenJDK:

  1. Descargue OpenJDK para Mac OSX desde http://jdk.java.net/

  2. Desarchive el archivo OpenJDK tar, y coloque la carpeta resultante (es decir, jdk-12.jdk ) en su carpeta /Library/Java/JavaVirtualMachines/ ya que esta es la ubicación estándar y esperada de las instalaciones de JDK. También puede instalar en cualquier lugar que desee en la realidad.

Instalar con Homebrew

La versión de Java disponible en Homebrew Cask anterior al 3 de octubre de 2018 era, de hecho, la JVM de Oracle. Ahora, sin embargo, ahora se ha actualizado a OpenJDK. Asegúrese de actualizar Homebrew y luego verá la última versión disponible para instalar.

  1. Instala Homebrew si aún no lo has hecho. Asegúrese de que está actualizado:

    brew update

  2. Agregue el toque de casks, si aún no lo ha hecho (o ya no está viendo versiones anteriores de Java con el paso # 3):

    brew tap homebrew/cask-versions

    y para las versiones AdoptOpenJDK , agregue ese toque:

    brew tap adoptopenjdk/openjdk

    Estos barriles cambian sus versiones de Java a menudo, y puede haber otros toques con versiones de Java adicionales.

  3. Busque versiones instalables:

    brew search java

    o para las versiones de AdoptOpenJDK:

    brew search jdk

  4. Compruebe los detalles sobre la versión que se instalará:

    brew cask info java

    o para la versión AdoptOpenJDK:

    brew cask info adoptopenjdk

  5. Instale una versión específica del JDK como java11 , adoptopenjdk8 , o simplemente java o adoptopenjdk para la adoptopenjdk actual. Por ejemplo:

    brew cask install java

    También puede utilizar la ruta de acceso completa a las versiones anteriores:

    brew cask install homebrew/cask-versions/java11

Y estos se instalarán en /Library/Java/JavaVirtualMachines/ que es la ubicación tradicional esperada en Mac OSX.

Otras opciones de instalación:

Algunos otros sabores de openJDK son:

Las compilaciones de OpenJDK certificadas para Zulu de Azul Systems Java se pueden instalar siguiendo las instrucciones de su sitio .

Zulu® es una versión certificada de OpenJDK que cumple totalmente con el estándar Java SE. Zulu es 100% de código abierto y se puede descargar libremente. Ahora los desarrolladores de Java, los administradores de sistemas y los usuarios finales pueden disfrutar de todos los beneficios de Java de código abierto con flexibilidad de implementación y control sobre el tiempo de actualización.

Las compilaciones de Amazon Correto OpenJDK tienen un paquete de instalación fácil de usar para la versión 8 o la versión 11 (vienen otras versiones), y se instala en el directorio estándar /Library/Java/JavaVirtualMachines/ en Mac OSX.

Amazon Corretto es una distribución sin costo, multiplataforma y lista para producción del Open Java Development Kit (OpenJDK). Corretto viene con soporte a largo plazo que incluirá mejoras de rendimiento y soluciones de seguridad. Amazon ejecuta Corretto internamente en miles de servicios de producción y Corretto está certificado como compatible con el estándar Java SE. Con Corretto, puede desarrollar y ejecutar aplicaciones Java en sistemas operativos populares, incluidos Linux, Windows y macOS.

¿Dónde está mi JDK?!?!

Para encontrar ubicaciones de Java JDK instalados previamente en las ubicaciones predeterminadas del sistema, use:

/usr/libexec/java_home -V

Coincidencia de máquinas virtuales Java (5):
12, x86_64: "OpenJDK 12" /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
11, x86_64: "Java SE 11" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
9, x86_64: "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

También puede informar solo la ubicación de una versión específica de Java usando -v . Por ejemplo para Java 12:

/usr/libexec/java_home -v 12

/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home

Conocer la ubicación de los JDK instalados también es útil al usar herramientas como JEnv, o agregar una instalación local a SDKMAN, o vincular un JDK de sistema en Jabba, y necesita saber dónde encontrarlos.

Si necesita encontrar JDK instalado por otras herramientas, verifique estas ubicaciones:

  • SDKMAN se instala en ~/.sdkman/candidates/java/
  • Jabba se instala en ~/.jabba/jdk

Cambio manual de versiones

El ejecutable de Java es un contenedor que utilizará cualquier JDK configurado en JAVA_HOME , por lo que puede cambiarlo para cambiar también qué JDK está en uso.

Por ejemplo, si instaló o descomprimió JDK 12 en /Library/Java/JavaVirtualMachines/jdk-12.jdk si es el número de versión más alto, ya debería ser el predeterminado, si no, simplemente puede configurar:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home

Y ahora, cualquiera que sea el ejecutable de Java en la ruta, verá esto y usará el JDK correcto.

El uso de la utilidad /usr/libexec/java_home como se describió anteriormente le ayuda a crear alias o ejecutar comandos para cambiar las versiones de Java mediante la identificación de las ubicaciones de diferentes instalaciones de JDK. Por ejemplo, creando alias de shell en su .profile O .profile para cambiar JAVA_HOME por usted:

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8) export JAVA_9_HOME=$(/usr/libexec/java_home -v9) export JAVA_10_HOME=$(/usr/libexec/java_home -v10) export JAVA_11_HOME=$(/usr/libexec/java_home -v11) export JAVA_12_HOME=$(/usr/libexec/java_home -v12) alias java8=''export JAVA_HOME=$JAVA_8_HOME'' alias java9=''export JAVA_HOME=$JAVA_9_HOME'' alias java10=''export JAVA_HOME=$JAVA_10_HOME'' alias java11=''export JAVA_HOME=$JAVA_11_HOME'' alias java12=''export JAVA_HOME=$JAVA_12_HOME'' # default to Java 12 java12

Luego para cambiar las versiones, solo usa el alias.

java8 java -version

versión java "1.8.0_144"

Por supuesto, ¡configurar JAVA_HOME manualmente también funciona!

Cambio de versiones con JEnv

JEnv espera que los JDK de Java ya existan en la máquina y puedan estar en cualquier ubicación. Por lo general, encontrará Java JDK instalados en /Library/Java/JavaVirtualMachines/ . JEnv permite configurar la versión global de Java, una para el shell actual, y una versión local por directorio que es útil cuando algunos proyectos requieren versiones diferentes a otras.

  1. Instale JEnv si aún no lo ha hecho, instrucciones en el sitio JEnv para la instalación manual o el uso de Homebrew.

  2. Agregue cualquier versión de Java a JEnv ( ajuste el directorio si lo colocó en otro lugar ):

    jenv add /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home

  3. Configure su versión global usando este comando:

    jenv global 12

También puede agregar otras versiones existentes usando jenv add de una manera similar, y enumerar las que están disponibles. Por ejemplo Java 8:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home jenv versions

Ver los documentos JEnv para más comandos. Ahora puede cambiar entre cualquier versión de Java (Oracle, OpenJDK, otra) en cualquier momento, ya sea para todo el sistema, para shells o por directorio local.

Para ayudar a administrar JAVA_HOME mientras usa JEnv, puede agregar el complemento de exportación para que lo haga por usted.

$ jenv enable-plugin export You may restart your session to activate jenv export plugin echo export plugin activated

Es posible que el complemento de exportación no ajuste JAVA_HOME si ya está configurado, por lo que es posible que deba borrar esta variable en su perfil para que JEnv pueda administrarla.

También puede usar jenv exec <command> <parms...> para ejecutar comandos individuales con JAVA_HOME y PATH configurados correctamente para ese comando, que podría incluir abrir otro shell.

Instalar y cambiar versiones con SDKMAN

SDKMAN es un poco diferente y maneja tanto la instalación como la conmutación. SDKMAN también coloca los JDK instalados en su propio árbol de directorios, que suele ser ~/.sdkman/candidates/java . SDKMAN permite configurar una versión predeterminada global y una versión específica del shell actual.

  1. Instale SDKMAN desde https://sdkman.io/install

  2. Instale Java 12 utilizando SDKMAN:

    sdk install java 12.0.0-open

  3. Haz de 12 la versión por defecto:

    sdk default java 12.0.0-open

    O cambia a 12 para la sesión:

    sdk use java 12.0.0-open

Puede listar las versiones disponibles para la instalación usando el comando list:

sdk list java

E instale versiones adicionales, como JDK 8:

sdk install java 8.0.181-oracle

SDKMAN puede trabajar con versiones existentes instaladas previamente. Solo realice una instalación local con su propia etiqueta de versión y la ubicación del JDK:

sdk install java my-local-12 /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home

Y úsalo libremente:

sdk use java my-local-12

Puede encontrar más información en la Guía de uso de SDKMAN junto con otros SDK que puede instalar y administrar.

SDKMAN administrará automáticamente su PATH y JAVA_HOME por usted cuando cambie las versiones.

Instalar y cambiar versiones con Jabba

Jabba también maneja tanto la instalación como la conmutación. Jabba también coloca los JDK instalados en su propio árbol de directorios, que suele ser ~/.jabba/jdk .

  1. Instale Jabba siguiendo las Jabba .

  2. Lista disponible de JDK''s

    jabba ls-remote

  3. Instalar Java JDK 12

    jabba install [email protected]

  4. Úsalo:

    jabba use [email protected]

También puede asignar alias a los nombres de las versiones, vincular a los JDK existentes ya instalados y encontrar una combinación de JDK interesantes como GraalVM, Adopt JDK, IBM JDK y más. La guía de uso completa también está disponible en la página de inicio.

Jabba administrará automáticamente tu PATH y JAVA_HOME por ti cuando cambies de versión.