Cómo instalar Java 8 en Mac

996

Quiero hacer algo de programación con el último JavaFX, que requiere Java 8. Estoy usando IntelliJ 13 CE y Mac OS X 9 Mavericks. Ejecuté el instalador Java 8 de Oracle, y parece que los archivos terminaron en

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk

pero las versiones anteriores están en

/System/Library/Java/JavaFrameworks/jdk1.6....

No estoy seguro de por qué el último instalador pone esto en /Librarylugar de /System/Library(ni cuál es la diferencia). Pero /usr/libexec/java_homeno encuentra 1.8, por lo que todas las publicaciones que he encontrado sobre cómo configurar su versión actual de Java no funcionan. Intenté agregar un enlace simbólico para que parezca que 1.8 está en el /System/Library...camino, pero no ayuda. /usr/libexec/java_home -Vtodavía solo enumera el antiguo Java 1.6.

Irónicamente, el panel de control "Java" en Preferencias del sistema muestra solo Java 1.8.

¿Por qué el instalador de Oracle no lo pone donde realmente va? ¿Y cómo puedo solucionar este problema?

usuario3763100
fuente
8
"Realmente va" donde terminó - /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/. El anterior fue donde fueron las versiones de Java proporcionadas por Apple, y como Apple ya no proporciona Java, la ubicación de instalación ha cambiado.
awksp

Respuestas:

1889

Oracle tiene un historial pobre para facilitar la instalación y configuración de Java, pero usando Homebrew , el último OpenJDK (Java 14) se puede instalar con:

brew cask install java

Para los muchos casos de uso que dependen de una versión anterior (comúnmente Java 8), el proyecto AdoptOpenJDK lo hace posible con un paso adicional.

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

Los usuarios existentes de Homebrew pueden encontrarse Error: Cask adoptopenjdk8 exists in multiple tapsdebido a soluciones anteriores con diferentes instrucciones. Esto se puede resolver especificando completamente la ubicación con brew cask install adoptopenjdk/openjdk/adoptopenjdk8.

l3x
fuente
89
A partir de diciembre de 2015, ahora no es necesario instalar cask manualmente, ya que ahora forma parte de la instalación de homebrew. Entonces, después de actualizar homebrew vía brew update, está listo para usar brew cask.
davetw12
63
Gracias, es sorprendente lo horrible que es el proceso de instalación de Java utilizando los enlaces / documentos "oficiales".
enderland
15
@tandrewnichols Acabo de ejecutar brew cask install javami Mac El Capitan y se está descargando jdk-8u112-macosx-x64.dmg.
Calrion
44
Error: Cask 'java8' is unavailable: No Cask with this name exists.
Elderry
87
La solución por ahora es brew tap homebrew/cask-versionsy usobrew cask install homebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
736

Nota: Oracle Java 8/9/10 ya no está disponible para descarga pública (cambio de licencia).

Primero instale y actualice brew desde la Terminal:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap homebrew/cask-versions

brew update

NUEVO a partir de junio de 2019

Para instalar los JDK desde AdoptOpenJDK:

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

ANTIGUO

Java 8:

brew cask install java8

Java más reciente:

brew cask install java
kavehmb
fuente
3
Es interesante notar que esto no funcionó para mí en Mavericks, por lo que no respondió la pregunta del OP, pero sí funcionó para mí en Captain, por lo que fue útil como respuesta ...
Tommy
3
Instalé homebrew fresh en una nueva máquina OS X El Capitan y no tuve que ejecutar el brew tapcomando en la respuesta anterior. El primer y el tercer comando fueron suficientes.
Adil Hussain
14
Error: Cask 'java8' is unavailable: No Cask with this name exists.
user924
44
$ brew cask install adoptopenjdk8 Error: Cask adoptopenjdk8 exists in multiple taps: caskroom/versions/adoptopenjdk8 adoptopenjdk/openjdk/adoptopenjdk8. Tengo que usarbrew cask install adoptopenjdk/openjdk/adoptopenjdk8
roottraveller
55
brew tap homebrew/cask-versionsy brew cask install adoptopenjdk8funciona para mí en Hi Sierra 10.13.6
xjlin0
135

Java8 ya no está disponible en homebrew, brew install java8no funcionará.

En cambio, use:

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Consulte este compromiso para obtener detalles técnicos.

Tenga en cuenta también que puede ver problemas Cask adoptopenjdk8 exists in multiple taps. Este es un problema conocido que se está trabajando actualmente y que puede ver aquí:

https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/106

Para aquellos que no quieren ver los detalles, aquí hay un resumen:

# To install JDK8
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

# To be able to safely run 'brew cleanup'
brew untap adoptopenjdk/openjdk
brew untap caskroom/versions
brew cleanup
Dave Kerr
fuente
2
¿Hay alguna diferencia en usar en AdoptOpenJDK/openjdklugar de usarhomebrew/cask-versions/adoptopenjdk8
Sean Breckenridge
Recibo lo siguiente cuando intento su respuesta: Cask adoptopenjdk8 existe en múltiples toques: caskroom / versiones / adoptopenjdk8 adoptopenjdk / openjdk / adoptopenjdk8
Koray Tugay
@KorayTugay He actualizado la respuesta, ¡esto debería resolver sus problemas!
Dave Kerr
1
@SeanBreckenridge: el equipo de HomeBrew está trabajando en ello, en este momento parece que se utilizará AdoptOpenJDK, pero todavía hay cierta incertidumbre, consulte el tema abierto actualmente github.com/AdoptOpenJDK/homebrew-openjdk/issues/106 para más detalles.
Dave Kerr
1
brew cask install homebrew/cask-versions/adoptopenjdk8funcionó para mí
protoEvangelion
123

Acabo de hacer esto en mi MBP y tuve que usar

$ brew tap caskroom/versions
$ brew cask install java8

para que java8 se instale.

Jain Waldrip
fuente
99
Me ayudó con la instalación de una versión específica de Java. Ahora, cuando java 9 está fuera, la ejecución de "brew cask install java" instala java 9. "brew cask install java8" no funcionaba para mí hasta que ejecuté "brew tap caskroom / versiones".
interrumpir el
66
Sí, brew tap caskroom/versionsse requiere antes de instalar java8
Hendrix
11
o solo brew install homebrew/cask-versions/java8por la victoria!
Naruto Sempai
44
Ya no es posible instalar Java8 usando Brew debido a cambios en la licencia de Oracle. Java8 ya no está disponible para descarga pública.
Marcelo Xavier
2
Consulte stackoverflow.com/a/55775566/9306378 si aún desea usar java8. Tenga en cuenta que esto usa OpenJDK sin embargo.
Polpetta
62

Una opción que realmente me gusta para ejecutar aplicaciones en mi computadora local es usar Docker. Simplemente puede ejecutar su aplicación dentro del contenedor JDK oficial, lo que significa que no tiene que preocuparse por configurar todo en su máquina local (o preocuparse por ejecutar múltiples versiones diferentes de JDK para diferentes aplicaciones, etc.)

Aunque esto podría no ayudarte con tus problemas de instalación actuales, es una solución que significa que puedes esquivar el campo minado de problemas relacionados con el intento de hacer que Java se ejecute correctamente en tu máquina de desarrollo.

Los beneficios son:

  1. No es necesario configurar ninguna versión de Java en su máquina local (solo ejecutará Java dentro de un contenedor que extrae de Docker Hub)
  2. Muy fácil cambiar a diferentes versiones de Java simplemente cambiando la etiqueta en el contenedor.
  3. Las dependencias del proyecto se instalan dentro del contenedor, por lo que si estropea su configuración, simplemente puede destruir el contenedor y comenzar de nuevo.

Un ejemplo muy simple:

Crea un Dockerfile:

FROM java:8
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
  • Aquí estamos especificando el contenedor Java que ejecuta la versión 8 del SDK ( java:8- para usar Java 7, puede especificar:java:7 )
  • Estamos mapeando el directorio local con el directorio: /usr/src/myappdentro del contenedor

Crea un docker-compose.ymlarchivo:

version: "2"

services:
  java:
    build: .
    volumes:
      - .:/usr/src/myapp

Ahora, supongamos que tenemos este archivo Java:

HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {        
        System.out.println("Hello, World");
    }
}

Entonces tenemos la siguiente estructura de archivos:

.
|_ Dockerfile
|_ docker-compose.yml
|_ HelloWorld.java

Puedes hacer varias cosas de Java como:

compilar:

docker-compose run --rm java javac HelloWorld.java 
  • Debe tener en cuenta que HelloWorld.class aparece en su directorio actual (esto es porque hemos asignado el directorio actual a la ubicación dentro del contenedor donde existe nuestro código

correr:

docker-compose run --rm java java HelloWorld 
  • Nota: la primera vez que ejecute esto, obtendrá la imagen, etc. Esto llevará un tiempo, solo ocurre la primera vez
  • docker-compose run - ejecuta un comando desde el contenedor
  • -rm le dice a Docker que retire el contenedor una vez que el comando haya terminado de ejecutarse
  • java es el nombre del servicio / contenedor (de nuestro archivo docker-compose) contra el cual se ejecutará este comando
  • el resto de la línea es el comando para ejecutar dentro del contenedor.

Esta es una forma bastante buena de manejar diferentes versiones de Java para diferentes aplicaciones sin hacer un desastre completo de su configuración local :).

Aquí hay un ejemplo un poco más complejo que tiene Maven y una aplicación simple de Spring

Descargo de responsabilidad:

tostadas38coza
fuente
2
Buen ejemplo con Docker, no estoy seguro de por qué recibió un voto negativo antes.
Andrew
28
Me imagino el voto negativo porque esto no responde a la pregunta de ejecutar Java en OS X / MacOS. Responder "¿Cómo hago esto en la plataforma X" con "Simplemente use una VM / shim para hacerlo en la plataforma Y" no es productivo.
whitfin
especialmente para el desarrollo nativo de Java (por ejemplo, utilizando SWIG, JNI y LIBRARY_PATH)
Mizux
56

Suposición: máquina Mac y ya has instalado homebrew.

Instale el barril (con Homebrew 0.9.5 o superior, el barril está incluido, así que omita este paso):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Para instalar la última versión de Java:

$ brew cask install java

Para instalar Java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Si desea instalar / administrar varias versiones, puede usar 'jenv':

Instalar y configurar jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Agregue el java instalado a jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Para ver todos los java instalados:

$ jenv versions

El comando anterior le dará la lista de Java instalado:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Configure la versión de Java que desea utilizar:

$ jenv global oracle64-1.6.0.39

Para configurar JAVA_HOME:

$ jenv enable-plugin export
Lyncean Patel
fuente
2
¡Mejor solución! ¡Gracias!
viktorianer
1
¡Gracias! justo lo que estaba buscando.
csomakk
Gracias. Comienza con una solución breve y directa y continúa con otra herramienta útil: 'jenv' es útil de tener y no se encuentra en la mayoría de las otras respuestas. Ayudado con el empaquetado código Scala (2,12 / 2,13) en 2020.
emllnd
Funciona como un encanto, brew cask install adoptopenjdk / openjdk / adoptopenjdk8
jeadonara
25

Tengo el mismo problema que resolver, porque necesito instalar JDK8 para ejecutar Android SDK Manager (porque parece que no funciona bien con JDK9). Sin embargo, te digo cómo resuelvo todos los problemas en una Mac (Sierra).

Primero, necesitas preparar cerveza con barril y jenv .

  1. Puede encontrar una guía útil aquí, Guía de instalación de Homebrew Cask . Recuerde tocar 'caskroom / versiones' que se ejecutan en la terminal: brew tap caskroom/versions
  2. Después de eso, instale jenv con: brew install jenv
  3. Instalar cualquier versión que desee con el barril brew cask install java8(o java7, o javasi desea instalar la versión más reciente, jdk9)
  4. El último paso es configurar qué versión ejecutar (y dejar que jenv administre su JAVA_HOME) jenv versionspara enumerar todas las versiones instaladas en su máquina y luego activar la que desee conjenv global [JDK_NAME_OF_LIST]

Puede encontrar otra información útil aquí en este Github Gist brew-java-and-jenv.md , en este blog Instalar múltiples JDK en una Mac y en el sitio web de Jenv

Benedetto Abbenanti
fuente
jenv es bastante fácil y súper útil. Tengo múltiples proyectos que necesitan Java 8 y 11
Nikhil Sahu
20
brew cask install caskroom/versions/java8
Arun
fuente
18

Si tiene varias versiones de Java en su máquina y desea elegirlas dinámicamente en tiempo de ejecución, es decir, en mi caso, tengo dos versiones:

ls -la /Library/Java/JavaVirtualMachines
drwxr-xr-x  3 root  wheel    96B Nov 16  2014 jdk1.7.0_71.jdk/
drwxr-xr-x  3 root  wheel    96B Mar  1  2015 jdk1.8.0_31.jdk/

Puede cambiarlos modificando el /etc/profilecontenido. Simplemente agregue (o modifique) las siguientes dos líneas al final del archivo:

export JAVA_HOME=YOUR_JAVA_PATH/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

En mi caso, debería ser el siguiente si quiero usar:

Java 7:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Java 8:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

Después de guardar el archivo, ejecute source /etc/profile y debería funcionar. Estos son los resultados cuando uso la primera y segunda opción en consecuencia:

Java 7:

java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

Java 8:

java -version 
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

El proceso es similar si su carpeta java se encuentra en diferentes ubicaciones.

nxhoaf
fuente
¿Por qué no hacer un alias para una versión diferente, como alias java8=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java?
cglacet
14

Parece que nadie ha mencionado SDK man ( https://sdkman.io/ ) todavía.

SKD man permite instalar múltiples versiones de Java en Mac y cambiar fácilmente entre estas versiones. Hay más información disponible en https://sdkman.io/usage .

Por ejemplo:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

$ sdk install java 8.0.191-oracle

$ sdk use java 8.0.191-oracle

Using java version 8.0.191-oracle in this shell.                                                                                                                                                                                                      

$ java -version                                                                                                                                                                                                                        
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

$ sdk use java 11.0.1-open                                           

Using java version 11.0.1-open in this shell.

$ java -version                                                                                                                                                                                                                        openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
                                                                                                                                                                                                         ```

stderr
fuente
13

Usa el instalador, Luke

Otras respuestas que sugieren el administrador de paquetes Homebrew me parecen un poco extremas. Estoy seguro de que Homebrew tiene algunos buenos usos. Pero simplemente para ejecutar Java, instalando Homebrew es un paso adicional innecesario. Si su objetivo es simplemente ejecutar Java, simplemente descargue un instalador de Mac de una fuente confiable.

Tiene múltiples fuentes para obtener una aplicación de instalación fácil de usar para poner Java en su Mac. Ejecute el instalador en su Mac tal como lo hace con muchas otras aplicaciones.

Aquí hay un diagrama de diagrama de flujo para encontrar una fuente de Java 11, algunos de los cuales también ofrecen Java 8.

Diagrama de flujo que lo guía para elegir un proveedor para una implementación de Java 11

Descargue un instalador de un proveedor como AdoptOpenJDK.net.

Descargar página en AdoptOpenJDK.net

Ejecute el instalador.

captura de pantalla del instalador en ejecución

JavaVirtualMachines la carpeta ahora es correcta

¿Por qué el instalador de Oracle no lo pone donde realmente va? ¿Y cómo puedo solucionar este problema?

No es un problema.

La carpeta /Library/Java/JavaVirtualMachines/es el nuevo hogar para JVM s en macOS .

captura de pantalla de la carpeta "/ Library / Java / JavaVirtualMachines /" en el Finder

Para instalar una JVM, use un instalador, que se describe a continuación.

Para desinstalar, simplemente use el Finder para eliminar una JVM de esa carpeta. Se le solicitará la contraseña de administrador del sistema para completar la eliminación.


Java 9 y 10 y 11

En 2010, Apple se unió al proyecto OpenJDK , junto con Oracle , IBM , Red Hat , Azul y otros proveedores de Java. Cada miembro aporta código fuente, pruebas y comentarios a la base de código unificada de OpenJDK.

Apple contribuyó con la mayor parte de su código específico de Mac para su JVM. Ahora Apple ya no lanza su propia JVM específica de Mac. Ahora tiene su opción de proveedor JVM, con compilaciones provenientes de la base de código OpenJDK.

Encontrará el código fuente en: http://openjdk.java.net

Nueva cadencia de lanzamiento

Tenga en cuenta que en 2017, Oracle, JCP y OpenJDK adoptaron un nuevo plan de "tren de lanzamiento" rápido para que las versiones de Java programadas regularmente se entreguen de manera predecible.

Lea esta publicación de blog de Azul Systems 2018-07 para obtener más detalles, Eliminando Java Update Confusion por Simon Ritter .

También lea Java Is Still Free .

Vendedores

Para obtener una lista bastante exhaustiva de implementaciones JVM pasadas y presentes, consulte esta página en Wikipedia .

Aquí hay una discusión de algunos vendedores. Consulte el diagrama de flujo anterior para obtener más proveedores.

Oracle JDK

Oracle proporciona instaladores JDK y JRE para múltiples plataformas, incluyendo macOS.

A lo largo de los años desde la adquisición de Sun, Oracle ha combinado las mejores partes de los dos motores JVM, HotSpot y JRocket , y los ha fusionado en el proyecto OpenJDK utilizado como base para sus propias implementaciones de Java.

Su nuevo plan de negocios, a partir de 2018, es proporcionar una implementación de Java con la marca Oracle por una tarifa en producción, y sin costo para su uso en desarrollo / pruebas / demostración. El soporte para versiones anteriores requiere un programa de soporte pago. Han declarado su intención de que su lanzamiento de marca esté en paridad de características con el lanzamiento de OpenJDK. Incluso han donado sus complementos comerciales como Flight Recorder al proyecto OpenJDK.

Oracle también lanza una compilación de OpenJDK sin soporte: http://jdk.java.net/

Oracle ha producido un JDK de propósito especial, GraalVM .

Zulu & Zing de Azul

Azul Systems ofrece una variedad de productos JVM.

  • Su Zululínea se basa directamente en OpenJDK y está disponible sin costo con planes de soporte pagos opcionales.
  • Su Zinglínea ofrece productos JVM comerciales mejorados con implementaciones técnicas alternativas como un recolector de basura especializado .

Ambas líneas ofrecen instaladores para macOS.

Actualmente estoy usando Zulu para Java 10.0.1 en macOS High Sierra con IntelliJ 2018.2 y Vaadin 8 . Lo descargué de esta página . Por cierto, no encuentro ningún elemento relacionado con Java instalado en la aplicación Apple System Preferences .

AdoptOpenJDK.net

AdoptOpenJDK es un esfuerzo liderado por la comunidad para construir binarios de la fuente OpenJDK. Tienen la intención de ofrecer actualizaciones con el tiempo, según lo donado por miembros de la comunidad.

  • Su elección del motor HotSpot o OpenJ9 .
  • Compilaciones disponibles para macOS, Linux y Windows.

OpenJ9 por Eclipse

El proyecto OpenJ9 es otra implementación del motor JVM, una alternativa al HotSpot .

Ahora patrocinado por la Fundación Eclipse, con tecnología y respaldo donados por IBM en 2017.

Para los binarios preconstruidos, lo remiten al proyecto AdoptOpenJDK mencionado anteriormente.

Motivaciones para elegir un proveedor para Java.png


Cómo instalar

Los instaladores proporcionados por Oracle o por Azul son completamente simples de operar. Simplemente ejecute la aplicación de instalación en su Mac. Aparece una ventana para indicar el progreso de la instalación.

Cuando termine, verifique su instalación de JVM:

  • Visitar la /Library/Java/JavaVirtualMachines/carpeta para ver un elemento para la nueva JVM.
  • Ejecute una consola como Terminal.app y escriba java -versionpara ver la marca y el número de versión de su JVM.

Después de verificar el éxito, desmonte la imagen .dmg en el Finder. Luego deseche el archivo .dmg que descargó.

Albahaca Bourque
fuente
13

Tengo aplicaciones que usan Java 7 y 8 y tengo que ir y venir todo el tiempo.

Yo uso este script escrito por Johan:

http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/

Ahora puede configurarlo al inicio o llamar al script después.
Instala el JDK para Mac.

Java 7

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Java 8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


Recomendación actualizada !! :

Utilice jenv https://www.jenv.be/ y homebrew.

Entonces es justo jenv global oracle6401.6.0.39y su conjunto.

Nathan Dunn
fuente
1
+1: uso este script y estoy de acuerdo, es bastante útil para los desarrolladores que tienen múltiples proyectos que requieren diferentes versiones de Java.
barclay
8
Realmente no hay necesidad de configurar ningún script siempre que solo necesite usar una versión específica en todo el sistema. Básicamente, todo lo que necesita hacer es agregar a su ~/.bashrco ~/.bash_profile: export JAVA_HOME = "/ usr / libexec / java_home -v 1.8" y también agregar su $JAVA_HOME/bina $PATHsi el instalador de Java no lo ha hecho ya. (NOTA: reemplace las comillas dobles con comillas inversas para / usr / libexec / java_home, no se pueden ingresar comillas literales literales en los comentarios ...)
ccpizza
si desea instalar java 7 (junto con java 8) a través de homebrew, el comando es brew tap caskroom/versionsseguido por brew cask install java7.
icfantv
2
jenv es una herramienta muy conveniente para administrar múltiples versiones de Java, ya sea global o localmente por directorio.
Christian Long
11

Ejecute estos comandos en mac High Sierra

brew update
brew tap caskroom/versions
brew cask install java8

y verifique con el comando

java -version
TLbiz
fuente
Obteniendo esto:Error: Download failed on Cask 'java8' with message: Download failed: https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-macosx-x64.dmg
Siddhartha
7

Usando cerveza

brew install Caskroom/cask/java
Santhosh
fuente
7

La mejor manera es usar el administrador de paquetes Brew pero el comando

 brew cask install java8

falla con error:

Error: No available formula with the name "java8" 

Entonces usa

brew cask install caskroom/versions/java8

¿Cómo encontré "caskroom / versiones / java8": usando el comando brew search:

brew cask search java8
Navjot Bhardwaj
fuente
7

Si usted lo está utilizando no para uso personal, es posible que desee usar OpenJDK lugar para evitar cualquier posible demanda de Oracle.

brew cask install adoptopenjdk8
Edmund Lee
fuente
buscar / usr / local / Homebrew / Library / Taps / | grep -i jdk | xargs rm -v si aparece el mensaje "Error: Cask adoptopenjdk8 existe en múltiples toques:" error ...
Yordan Georgiev
5

Si estás en una Mac, entonces Homebrew es la forma de instalar cosas.

Parece que la versión 8 ya no es la más reciente, por lo que no está disponible usando la predeterminada brew cask install java.

En cambio, logré hacer lo siguiente:

brew install homebrew/cask-versions/

Si esto falla, intente el siguiente directamente:

brew install homebrew/cask-versions/adoptopenjdk8

Prueba con brew cask listojava -version

Anas
fuente
+1, eso funciona para mí en macOS 10.12.6 Sierra. (O instalar brew cask adoptopenjdk / openjdk / adoptopenjdk8)
McAllister Bowman
+1 El primero falló (Error: no hay una fórmula disponible con el nombre "homebrew / cask-version /"), pero el segundo parecía funcionar. Respuesta actualizada para evitar asustar a las personas con el primer fracaso.
Dennis Jaheruddin
4

Lo más sencillo es descargar el archivo dmg del siguiente sitio e instalarlo haciendo doble clic

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

busque las JVM disponibles en el directorio de inicio

ls -al /Library/Java/JavaVirtualMachines

y actualice el .bash_profile con la versión relevante

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

y finalmente

source ~/.bash_profile
vimal krishna
fuente
3

Instalar con Homebrew

La versión de Java disponible en Homebrew Cask antes del 3 de octubre de 2018 era, de hecho, la Oracle JVM. 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. instale Homebrew si aún no lo ha hecho. Asegúrese de que esté actualizado:

brew update

2. Agregue el toque de barriles, si aún no lo ha hecho (o si ya no ve versiones anteriores de Java con el paso 3):

brew tap homebrew/cask-versions

3. y para las versiones de AdoptOpenJDK, agregue ese toque:

brew tap adoptopenjdk/openjdk

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

4. Busque versiones instalables:

brew search java 

o para las versiones de AdoptOpenJDK:

brew search jdk     

5. Verifique los detalles de la versión que se instalará:

brew cask info java

o para la versión AdoptOpenJDK:

brew cask info adoptopenjdk

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

**brew cask install java**

**brew cask install java8**

**brew cask install java11**

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

brew cask install homebrew/cask-versions/java11
Dean Jain
fuente
Presumiblemente hice algo mal, pero cuando intenté hacer java8 recibí un error: Error: Cask 'java8' no está disponible: no existe un Cask con este nombre.
Dennis Jaheruddin
2

Puedes probar esto:

$ brew search jdk
$ brew cask install homebrew/cask-versions/adoptopenjdk8
$ /usr/libexec/java_home

 

friki
fuente
2

La manera más fácil

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PS - Cask es una extensión de Homebrew que está destinada a administrar grandes binarios de Mac y aplicaciones gráficas, pero que utiliza la interfaz Homebrew. También vea esta respuesta en Apple StackExchange.

sapy
fuente
siempre instala la última versión
Ray Garner
1

Tratar :

brew cask install java 8 ,, dará el siguiente resultado

8tracksradiohelper adoptopenjdk8 amitv87-pip corretto8 iconos8 vmware-fusion8 x48 zulu8

Luego ingrese: brew cask install adoptopenjdk8 ---- java 8 se instalará en Mac.

args
fuente
0

Sugeriría usar el SDK man que es bastante fácil de cambiar la versión (temporal y permanente) y también proporciona otros SDK. He estado usando el hombre SDK por más de un año.

https://sdkman.io/

saif ali
fuente
¡escriba un consejo para sdkman.io! Vi esto debido a un hilo tan largo pero capaz de leer el final. Fyi, este consejo también está por encima de stackoverflow.com/a/54101167/242110
AnneTheAgile
-4

Los siguientes pasos funcionaron para mí.

1) Desinstalar todos los jdks

En la ventana Terminal, copie y pegue el siguiente comando:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefpane

2) Instale APPLE jdk.

https://support.apple.com/kb/DL1572?locale=en_US

3) Descargue el último JDK de Oracle e instálelo, para mí fue JDK 1.82

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Eso es todo, funcionará como un encanto.

sembiano
fuente