mac jdk descargar java macos install multiple-versions homebrew-cask jenv

jdk - Mac OS X y mĂșltiples versiones de Java



oracle java (9)

Para macOS Sierra 420

Esta guía fue improvisada de varias fuentes (respuestas anteriores, así como otras publicaciones), y funciona perfectamente.

0. Si aún no lo has hecho, instala homebrew.

Ver https://brew.sh/

1. Instalar jenv

brew install jenv

2. Agregue jenv al perfil bash

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

3. Agregue jenv a su camino

export PATH="$HOME/.jenv/shims:$PATH"

4. Toque "caskroom / versiones"

FYI: "Tap" extiende la lista de repositorios disponibles de brew que puede instalar, más allá de la lista predeterminada de repositorios disponibles de brew.

brew tap caskroom/versions

5. Instale la última versión de java

brew cask install java

6. Instale java 6 (o 7 u 8 lo que necesite)

brew cask install java6 #brew cask install java7 #brew cask install java8

? Tal vez cierre y reinicie Terminal para que vea cualquier nuevo ENV que se haya configurado.

7. Revisar las instalaciones

Todas las versiones de Java se instalan aquí: /Library/Java/JavaVirtualMachines un vistazo.

ls -la /Library/Java/JavaVirtualMachines

8. Agregue cada ruta a jenv una a la vez.

Necesitamos agregar "/ Contenido / Inicio" a la carpeta de la versión. ADVERTENCIA: Use las rutas reales en su máquina ... estos son solo EJEMPLOS

jenv add /Library/Java/JavaVirtualMachines/1.6.0___EXAMPLE___/Contents/Home jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk___EXAMPLE___/Contents/Home

9. Compruebe si jenv se registró OK

jenv versions

10. Establecer la versión de Java para usar (globalmente)

Donde XX coincide con uno de los elementos de la lista de versiones anterior.

jenv global XX

Verifique la versión de Java

java -version

Verifique las versiones de jenv

También debe indicar la versión actual que se utiliza con un asterisco.

jenv versions

HECHO

Referencia futura rápida

Para cambiar las versiones de java

... Vea la lista de versiones de Java disponibles

jenv versions

... entonces, donde XX coincide con un elemento de la lista anterior

jenv global XX

¿Cómo puedo instalar un Java adicional en MacOS? Instalé jdk8 y eso funciona bien. pero ahora necesito una instalación jdk7 para fines de desarrollo. Cuando intento instalar la versión anterior a través del archivo DMG, recibo una advertencia de que ya hay una versión más nueva de java instalada y el instalador se cierra.

/usr/libexec/java_home -verbose Matching Java Virtual Machines (1): 1.8.0_20, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

¿Cómo instalar jdk7 además de este?

Gracias
Dakky


Aquí hay una versión más SECA para bash (según la respuesta de Vegard)

Reemplace 1.7 y 1.8 con las versiones que le interesen y obtendrá un alias llamado ''javaX''; donde ''X'' es la versión de Java (7/8 en el fragmento a continuación) que le permitirá cambiar fácilmente las versiones

for version in 1.7 1.8; do v="${version: -1}" h=JAVA_"$v"_HOME export "$h"=$(/usr/libexec/java_home -v $version) alias "java$v"="export JAVA_HOME=/$$h" done


Como se encuentra en este website , comencemos instalando jEnv

  1. Ejecuta esto en la terminal

    brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb

  2. Agregue jEnv al perfil bash

    if which jenv > /dev/null; then eval "$(jenv init -)"; fi

  3. Cuando instala por primera vez, jEnv no tendrá ningún JDK asociado.

    Por ejemplo, acabo de instalar JDK 8 pero jEnv no lo sabe. Para verificar las versiones de Java en jEnv

    Por el momento, solo encontró la versión Java (jre) en el sistema. El * muestra la versión actualmente seleccionada. A diferencia de rvm y rbenv, jEnv no puede instalar JDK por usted. Debe instalar JDK manualmente desde el sitio web de Oracle.

  4. Instale JDK 6 desde el sitio web de Apple. Esto instalará Java en /System/Library/Java/JavaVirtualMachines/ . La razón por la que estamos instalando Java 6 desde el sitio web de Apple es que SUN no creó JDK 6 para MAC, por lo que Apple creó / modificó su propia versión de implementación.

  5. Del mismo modo, instale JDK7 y JDK8.

  6. Agregue JDK a jEnv.

    JDK 6:

    JDK 7:

    JDK 8:

  7. Verifique las versiones de Java instaladas usando jenv

  8. Así que ahora tenemos 3 versiones de Java en nuestro sistema. Para establecer una versión predeterminada, use el comando

    jenv local <jenv version>

    Ex: quería que Jdk 1.6 iniciara IntelliJ

    jenv local oracle64-1.6.0.65

  9. revisa la versión de java

    java -version

Eso es. Ahora tenemos varias versiones de java y podemos cambiar entre ellas fácilmente. jEnv también tiene algunas otras características, como envoltorios para Gradle, Ant, Maven, etc., y la capacidad de configurar las opciones de JVM global o localmente. Consulte la documentación para más información.


Desinstale jdk8, instale jdk7, luego reinstale jdk8.

Mi enfoque para cambiar entre ellos (en .profile):

export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7) export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8) export JAVA_9_HOME=$(/usr/libexec/java_home -v9) alias java7=''export JAVA_HOME=$JAVA_7_HOME'' alias java8=''export JAVA_HOME=$JAVA_8_HOME'' alias java9=''export JAVA_HOME=$JAVA_9_HOME'' #default java8 export JAVA_HOME=$JAVA_8_HOME

Luego, simplemente puede escribir java7 o java8 en un terminal para cambiar de versión.

(editar: actualizado para agregar la mejora de Dylans para Java 9)


Encuentro este administrador de versiones de Java llamado Jabba recientemente y el uso es muy similar al de los administradores de versiones de otros idiomas como rvm (ruby), nvm (nodo), pyenv (python), etc. También es multiplataforma, por lo que definitivamente se puede usar en Mac.

Después de la instalación, creará un directorio en ~ / .jabba para colocar todas las versiones de Java que instale. "Admite la instalación de Oracle JDK (predeterminado) / Server JRE, Zulu OpenJDK (desde 0.3.0), IBM SDK, Java Technology Edition (desde 0.6.0) y desde URL personalizadas".

El uso básico se enumera en su Github. Un resumen rápido para comenzar:

curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh # install Oracle JDK jabba install 1.8 # "jabba use 1.8" will be called automatically jabba install 1.7 # "jabba use 1.7" will be called automatically # list all installed JDK''s jabba ls # switch to a different version of JDK jabba use 1.8


Estoy usando Mac OS X 10.9.5. Así es como administro múltiples JDK / JRE en mi máquina cuando necesito una versión para ejecutar la aplicación A y usar otra versión para la aplicación B.

Creé el siguiente script después de obtener ayuda en línea.

#!bin/sh function setjdk() { if [ $# -ne 0 ]; then removeFromPath ''/Library/Java/JavaVirtualMachines/'' if [ -n "${JAVA_HOME+x}" ]; then removeFromPath $JAVA_HOME fi export JAVA_HOME=/Library/Java/JavaVirtualMachines/$1/Contents/Home export PATH=$JAVA_HOME/bin:$PATH fi } function removeFromPath() { export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") } #setjdk jdk1.8.0_60.jdk setjdk jdk1.7.0_15.jdk

Puse el script anterior en el archivo .profile. Simplemente abra la terminal, escriba vi .profile, agregue el script con el fragmento anterior y guárdelo. Una vez que salga de la source .profile tipo source .profile , esto ejecutará su script de perfil sin que tenga que reiniciar el terminal. Ahora escriba java -version , debería mostrar 1.7 como su versión actual. Si tiene la intención de cambiarlo a 1.8, comente la línea setjdk jdk1.7.0_15.jdk y descomente la línea setjdk jdk1.8.0_60.jdk . Guarde el script y ejecútelo nuevamente con el comando de origen. Utilizo este mecanismo para administrar varias versiones de JDK / JRE cuando tengo que compilar 2 proyectos diferentes de Maven que necesitan diferentes versiones de Java.


Jenv en Mac Sierra:

si no funciona después de la instalación, realice esta corrección de errores para agregar el ejecutable de Java a la ruta

export PATH="$HOME/.jenv/shims:$PATH"

aunque eval "$(jenv init -)" podría hacer este trabajo. La razón es que la carpeta / bin ya no está allí como se describe en su página de inicio, pero en su lugar se usa la carpeta shim como / bin.

  • Asegúrese de que ~ / .jenv esté allí
  • which java puede imprimir / Biblioteca / ...
  • jenv global 1.8
  • jenv shell 1.8

Finalmente, which java te da:

/Users/xxxx/.jenv/shims/java


La forma más limpia de administrar múltiples versiones de Java en Mac es usar Homebrew .

Y dentro de Homebrew , use:

  • homebrew-cask para instalar las versiones de java
  • jenv para administrar las versiones instaladas de java

Como se ve en http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html , estos son los pasos a seguir.

  1. instalar homebrew
  2. instalar homebrew jenv
  3. instalar homebrew-cask
  4. instale una versión específica de Java utilizando cask (consulte el párrafo "versiones de homebrew-cask" a continuación)
  5. agregue esta versión para que jenv la administre
  6. compruebe que la versión está gestionada correctamente por jenv
  7. repita los pasos del 4 al 6 para cada versión de java que necesite

versiones homebrew-cask

Agregue las homebrew/cask-versions tap toque a homebrew usando:

brew tap homebrew/cask-versions

Luego puede ver todas las versiones disponibles:

brew search java

Luego puede instalar las versiones que desee:

brew cask install java7 brew cask install java6

Y agréguelos para que jenv los administre como de costumbre.

jenv add <javaVersionPathHere>

Creo que esta es la forma más limpia y sencilla de hacerlo.

Otra cosa importante a tener en cuenta, como se menciona en Mac OS X 10.6.7 Java Path Current JDK confuso :

Para diferentes tipos de JDK o instalaciones, tendrá diferentes rutas

Puede verificar las rutas de las versiones instaladas usando /usr/libexec/java_home -V , consulte ¿Cómo /usr/libexec/java_home -V si Java JDK está instalado en Mac?

En Mac OS X Mavericks, encontré lo siguiente:

1) Valor predeterminado de JRE incorporado: /Library/Internet/ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

2) JDK descargados de Apple: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

3) JDK descargados de Oracle: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home

Recursos


SDKMAN! es una gran herramienta para usar múltiples versiones de Java, Gradle, Groovy, Kotlin y otras herramientas JVM en Mac OS. La instalación y el uso del documento están claramente en el sitio principal.

(No tengo afiliación, solo un usuario feliz).

Como ejemplo de uso, si escribo lo siguiente en una ventana de Terminal, hay una lista de versiones de Java SDK disponibles (editadas por brevedad):

$ sdk list java Available Java Versions + 9ea170 > + 8u131 7u141-zulu

Aquí + denota que la versión está instalada. > indica qué versión está actualmente en uso. Para instalar una versión:

$ sdk install java 7u141-zulu

Para usar una versión en esta ventana de Terminal:

$ sdk use java 9ea170