Cómo descargar e instalar Java en Linux, Windows 10, o Mac OS

Uno de los lenguajes más extendidos en la actualidad es sin duda Java. La principal razón de la popularidad de Java reside en que se trata de un lenguaje de programación orientado a objetos maduro, robusto y ampliamente extendido que sirve como base educativa en multitud de centros de formación, colegios y universidades. 

Se suele decir que si dominas Java prácticamente puedes programar sobre cualquier plataforma imaginable por eso que no son pocas las empresas que solicitan cubrir posiciones en donde el conocimiento de este lenguaje de programación es clave.

¿Es importante saber Java?  Hay un montón de lenguajes de programación por ahí, todos reputados y más que contrastados, cada uno con sus ventajas e inconvenientes. Además, cada día salen nuevos lenguajes de programación como Google Go, Swift de Apple o Rust. Entonces ¿por qué Java?

  • Java está muy extendido. Tras más de 20 años Java sigue siendo uno de los lenguajes de programación más populares del mundo según el índice TIOBE y la clasificación IEE Spectrum.
  • Ser programador Java está bien valorado. Los programadores en Java están entre los mejores remunerados de la industria según un análisis de la prestigiosa publicación de noticias de empresas digitales Quartz con un salario promedio que roza los 100 mil euros en países como por ejemplo los Estados Unidos. 
  • Tiene salidas laborales. Tener conocimientos de programación en Java es algo muy demandado por los empleadores. Es un lenguaje de programación muy extendido con una base instalada gigantesca.
  • Java está en todas partes. Se estima que Java se ejecuta en más de 15.000.000.000 de dispositivos en todo el mundo. La mayoría de las administraciones públicas utilizan Java. Empresas como Linkedin, Amazon o Facebook incorporan soluciones basadas en Java en su núcleo de negocio y es una buena alternativa para el desarrollo en la nube. 

Java JDK y Java JRE

En el momento en que vamos a instalar Java en nuestro sistema existe cierta tendencia a confundir los paquetes Java JDK y Java JRE. Ambos son necesarios pero cada uno tiene una función y misión diferenciada:

  • Java JRE (Java Runtime Environment): es necesario para ejecutar programas en nuestros ordenadores e incluye JVM (máquina virtual de Java), biblioteca de clases Java, comandos de consola. Pero JRE no es suficiente para programar y crear programas. 
  • Java JDK (Java Development Kit): es necesario para los desarrolladores e incluye JRE, el compilador javac y otras herramientas necesarias para el desarrollo en Java. Si pensamos en usar Java para nuestros desarrollos, necesitaremos usar esta versión del paquete.

Java SE y Java EE

Además, de lo dicho antes, tenemos que tener en cuenta que existen 2 clasificaciones principales de plataformas Java, Java SE y Java EE. Estos se definen a continuación.

  • Java SE: La edición estándar de Java. Es la edición principal de Java que contiene el compilador, API, JRE y es adecuada para crear aplicaciones personalizadas, principalmente para sistemas de escritorio.
  • Java EE: Edición empresarial de Java. Incluye un conjunto de especificaciones que se utilizan principalmente para crear software de nivel empresarial.

Versiones de Java

Actualmente, la última versión para desarrollo es Java 16, sin embargo, la versión más popular y ampliamente utilizada es Java 8. ¿A qué es debido esto? En algunas circunstancias, no siempre es la mejor opción utilizar las últimas versiones en lenguajes de programación. La razón es que muchas veces, hay funciones que se introducen en versiones posteriores que no siempre funcionan bien con versiones anteriores y por razones de compatibilidad es mejor mantener cierto criterio. Sin embargo existe otra razón.

A partir de la versión 11 de Java Oracle introdujo un importante cambio para las versiones publicadas. El nuevo acuerdo de licencia de Oracle Technology Network para Oracle Java SE es sustancialmente diferente a las licencias de Oracle Java anteriores. Hasta ese momento podías descargar y programar con el Kit de Desarrollo de Java oficial de Oracle y luego poner tu aplicación en producción o distribuirla sin tener que pagar nada al gigante del software. Sin embargo, a partir de Java 11 y del JDK 11, aunque puedes seguir desarrollando con él, tendrás que pagar una licencia a Oracle si quieres utilizarlo para poner las aplicaciones en producción. El coste es de 2,5 dólares al mes por cada usuario de escritorio, y de 25 dólares por procesador en el caso de aplicaciones de servidor. Aquí tienes la lista de precios oficial.

Como puedes suponer este cambio no afecta a versiones anteriores del JDK, por lo que si usas Java 8, 9 o 10 sigue siendo gratuito. Sumado a la enorme base de software basado en Java 7 y 8 existente, pues ahora se entiende la preferencia o mejor dicho “reticencia” en dar el salto a versiones más actuales. 

Otra alternativa es usar OpenJDK. Se trata de una iniciativa basada en código abierto que nos permite crear nuestros propias aplicaciones basadas en Java compatibles y de manera gratuita. Ahora bien, esto sirve para una implementación general pero si buscamos cumplir funcionalidades muy específicas quizá interese más hacer uso de la versión de Java Oracle más actual.

Instalar OpenJDK en Ubuntu 20.04

Antes de instalar la versión más actual de OpenJDK (14) primer paso consiste en saber si ya existe alguna otra versión instalada. Para ello abrimos el terminal y escribiremos lo siguiente:

java -version

Si no existe versión previa, la salida es la siguiente:

No se ha encontrado la orden «java»

Pero se puede instalar con:

sudo apt install openjdk-11-jre-headless  # version 11.0.10+9-0ubuntu1~20.04, or
sudo apt install default-jre              # version 2:1.11-72
sudo apt install openjdk-8-jre-headless   # version 8u282-b08-0ubuntu1~20.04
sudo apt install openjdk-13-jre-headless  # version 13.0.4+8-1~20.04
sudo apt install openjdk-14-jre-headless  # version 14.0.2+12-1~20.04

Para instalar la última versión de OpenJDK disponible en los repositorios ejecutaremos la siguiente instrucción:

sudo apt install openjdk-14-jre-headless default-jre

Si todo ha ido bien, al comprobar la versión de Java instalada obtendremos un resultado similar al siguiente:

misha@shirka:/$ java -version
openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)

Instalando Java en otras versiones de Linux

Evidentemente el mundo no gira alrededor de Ubuntu y en el ecosistema existen muchas otras versiones. El proceso de instalación pasaría aquí por instalar la versión de Java que más nos convenga desde sus repositorios o de manera manual instalar la última versión de Java Oracle. Aquí el proceso es un poco más largo pero para nada complicado.

  1. Descarga wget.
  2. A continuación, crearemos un directorio de trabajo donde residirá Java, cambiaremos los directorios a esa carpeta, copiaremos el archivo descargado en ese directorio y, finalmente, extraemos el archivo tar.gz en su directorio:
    1. sudo mkdir /usr/java 
    2. cp  jdk-15.0.2_linux-x64_bin.tar.gz /usr/java/jdk-15.0.2_linux-x64_bin.tar.gz
    3. cd /usr/java
    4. sudo tar -xzvf jdk-15.0.2_linux-x64_bin.tar.gz
    5. El siguiente paso consiste en establecer  las variables de entorno. Es necesario porque cuando se usa Java, Linux necesita saber dónde está ubicado el programa para ejecutarlo y qué versión de Java usar de forma predeterminada. Para modificar esto, usaremos el editor de texto nano. Primero, abra el archivo en Nano.
    6. nano /etc/profile

      y al final del fichero pegaremos:

      # Java 15
      JAVA_HOME=/usr/java/jdk-15.0.2
      PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
      export JAVA_HOME
      export JRE_HOME
      export PATH
    7. El último paso consiste en actualizar la información en nuestro sistema para señalar el nuevo programa y sus opciones. En este caso, actualizamos la información sobre la instalación de Java:
      update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-13.0.2/bin/java" 1
      update-alternatives --config java
      update-alternatives --config javac

Instalación en Windows 10

Para instalar la versión de Java para Windows, debemos visitar el sitio web oficial de Java y descargar el ejecutable de Windows. Una vez en el sitio podemos revisar las opciones de licencia se describen allí. Recomiendo hacer una doble lectura porque las condiciones de Java SE y SDK son ligeramente diferentes. La nueva licencia permite ciertos usos, como el uso personal y el uso de desarrollo, sin costo alguno, pero es posible que otros usos autorizados bajo licencias anteriores de Oracle JDK ya no estén disponibles. 

Para iniciar la descarga debemos aceptar el acuerdo de licencia. 

Una vez que se complete la descarga, ejecutamos el ejecutable.

Configurar variables de entorno

JAVA_HOME es una variable que apunta al directorio en el que está instalado Java. Los programas lo utilizan para determinar dónde se encuentra Java.

Haga clic en la combinación de teclado Win+R, aparecerá la ventana Ejecutar y luego ingresaremos el comando control /name Microsoft.system.

Ingrese el nombre: JAVA_HOME. A continuación, especifique la ruta. Si la ruta es la predeterminada, veremos la ruta C:\Archivos de programa\Java\jdk-13.0.2

Una vez esta variable ahora resta definir la variable de usuario y su ruta, seleccionamos PATH tal como se muestra en la imagen y añadimos %JAVA_HOME%\bin

Para verificar que los cambios se han aplicado correctamente. Podemos abrir CMD y escribir los comandos “echo %JAVA_HOME%” y “java -version”.

 

 

Instalación en MacOS

Al igual que en Windows el proceso de instalación de Java Oracle en MacOS es muy sencillo. Existen diferentes métodos de instalación como descargarse el paquete .DMG desde la web oficial y realizar la instalación de OpenJDK mediante terminal usando SDKMAN.

SDKMAN se trata de una utilidad de uso de comandos que nos ayudará a instalar diferentes versiones de Java de una manera cómoda.

En el paso inicial, si nos decantamos por la segunda opción, será instalar el repositorio SDKMAN:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

Ahora ya podemos listar las versiones disponibles de Java que podemos instalar con

sdk list java

===========================================================
Available Java Versions
===========================================================
 Vendor | Use | Version 	| Dist	| Status | Identifier
-----------------------------------------------------------
 AdoptOpenJDK | | 14.0.0.j9	| adpt | 
14.0.0.j9-adpt | | 14.0.0.hs	| adpt |
14.0.0.hs-adpt | | 13.0.2.j9	| adpt |

Use the Identifier for installation:
 $ sdk install java 11.0.3.hs-adpt
===========================================================

El siguiente paso es instalar la versión JDK que nos interese siguiendo el ejemplo:

sdk install java 13.0.2-open

Y lo definimos como versión por defecto:

sdk default java 13.0.2-open

Y ya lo tenemos. Podemos verificar que la instalación ha sido un éxito comprobando la versión mediante la instrucción java -version.

Conclusión

Y hemos llegado al final de este tutorial en donde hemos aprendimos qué es Java, qué versiones están disponibles para instalar, sus licencias, y finalmente cómo cómo instalar, configurar y ejecutar Java en Ubuntu, Windows y MacOS. 

El siguiente paso es elegir el IDE de desarrollo que más nos guste y comenzar a trabajar desarrollando nuestro proyecto o aprender a utilizar uno de los lenguajes de programación más extendidos y populares en la actualidad.

 

Guía de Posibilidades Profesionales en el Ecosistema de Java