Ir al contenido
Brayan Diaz C
Volver

Cómo instalar y configurar Java en macOS con SDKMAN

Java en macOS, la versión de esta guía para Mac. Vas a aprender exactamente cómo instalarlo con SDKMAN!, elegir la versión correcta para tu trabajo, y dejar Maven y Gradle solo si de verdad los necesitas.

Hay un dato curioso en este post: a diferencia del resto de la etapa de lenguajes, aquí no usamos Homebrew. SDKMAN! trae su propio instalador y funciona idéntico en macOS y en Linux; si seguiste la versión de Ubuntu del sábado, esta te va a resultar familiar hasta el déjà vu. Esa portabilidad es justo su gracia.

El problema que resuelve es el mismo: Java tiene demasiadas formas de instalarse en Mac (DMG del fabricante, brew, descargas manuales) y cada una deja el JDK en un lugar distinto. Cuando una herramienta no encuentra el Java que espera, empieza la arqueología.

Vamos a ver:

  1. Verificar las herramientas base de macOS.
  2. Instalar SDKMAN! y dejarlo cargado en zsh.
  3. Elegir e instalar la versión correcta de Java (las LTS).
  4. Maven y Gradle: cuándo sí y cuándo no.

Al final tendrás Java bajo control, con la versión que cada herramienta necesita.

Tabla de contenidos

Tabla de contenidos

Paso 1: Verifica las herramientas base

macOS ya trae lo que SDKMAN! necesita. Confírmalo:

curl --version
zip -v
unzip -v

Si algo falta, llega con las Command Line Tools (que ya tienes si seguiste el setup de la serie):

xcode-select --install

Paso 2: Instala SDKMAN!

Un solo comando:

curl -s "https://get.sdkman.io" | bash

Cárgalo en la sesión actual y verifica:

source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

El instalador deja su inicialización en tu ~/.zshrc automáticamente. Confírmalo:

grep sdkman ~/.zshrc

Deberías ver la línea que carga sdkman-init.sh. Si no está, agrégala tú (el bloque exacto está en la solución de problemas de abajo).

Paso 3: Instala Java (la LTS correcta)

Consulta el catálogo:

sdk list java

Mi recomendación: Temurin (la distribución open source de Adoptium) y siempre una LTS:

sdk install java 21.0.7-tem
Importante

Java publica una LTS (soporte de largo plazo) cada dos años: 17, 21, 25… Para trabajar, usa siempre una LTS: son las que reciben mantenimiento por años y contra las que valida el tooling. Si un proyecto te exige otra versión, la instalas al lado sin conflicto. La versión exacta (21.0.x-tem) puede variar: usa la que muestre sdk list java.

Fíjala como predeterminada y verifica:

sdk default java 21.0.7-tem
java -version
javac -version
sdk current java

¿Necesitas otra versión temporalmente? sdk use java 17.0.16-tem la activa solo en esa sesión. Y para fijar una versión por proyecto, sdk env init crea un .sdkmanrc, el equivalente al .node-version o .ruby-version de la serie.

Paso 4: Maven y Gradle (opcionales)

Los dos grandes constructores del ecosistema Java, e instalarlos es un comando cada uno:

sdk install maven
sdk install gradle
mvn -version
gradle -version

Revisa el estado completo cuando quieras:

sdk current
which java
Consejo

Regla para no mezclar entornos: si un proyecto trae su propio wrapper (./mvnw o ./gradlew), úsalo siempre; garantiza la versión exacta que el proyecto espera. El Maven o Gradle global es para tu terminal y tus experimentos.

Solución de problemas comunes

sdk: command not found

El shell no cargó la inicialización. Agrega esto al final de tu ~/.zshrc y reinicia la terminal:

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"

java -version muestra otra versión

Otra instalación de Java se está interponiendo. Diagnostica con:

which java
sdk current java

Si la ruta no sale de ~/.sdkman, revisa que la inicialización de SDKMAN! esté al final de tu ~/.zshrc, después de cualquier otra configuración de Java.

Mantenimiento

Actualizar SDKMAN! y sus herramientas:

sdk selfupdate
sdk upgrade

Y para eliminar una versión que ya no uses:

sdk uninstall java 17.0.16-tem

Conclusión

Java bajo control en tu Mac, con la LTS correcta, cambio de versión en un comando y sin misterios sobre qué JDK responde. Con esto cierras los cuatro lenguajes gestionados de la serie.

Si esto te fue útil, el artículo relacionado es el paso lógico: Cómo instalar y configurar Java en Ubuntu con SDKMAN, la versión de esta guía para Ubuntu y WSL.

La próxima semana cierro la etapa de lenguajes con la base de datos: PostgreSQL, en Ubuntu/WSL y en macOS. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.

Recursos adicionales


Comparte este post:

Post siguiente
Cómo instalar y configurar Java en Ubuntu con SDKMAN