• Ir al contenido principal
  • Ir a la barra lateral primaria
  • Ir al pie de página
  • Cachivaches
  • Ubuntu
  • Servicios en la nube
  • Raspberry Pi
  • La Historia de este Blog
    • ¿Quieres hablar?

Kacharreando

Kacharreando desde Antes que montara este blog

Instalar el universo Java en Ubuntu

12 de febrero de 2020 por luidelkacha Dejar un comentario

Loading...

JAVA es un lenguaje de programación que creó Sun Microsystems y cuando Oracle compró Sun, decidió implementar algunas opciones privativas en la máquina virtual para ejecutar los programas JAVA.

Para ciertas actividades como la presentación de impuestos con la Agencia Española de Administración Tributaria vamos a necesitar instalar JAVA.

Instalar java en ubuntu kacharreando

Si la versión por defecto que instalas en Ubuntu no funciona, es posible que necesites instalar la versión de JAVA de oracle.

Instalación de JRE/JDK por defecto

La mejor opción para instalar Java es usar la versión empaquetada con Ubuntu. En cada versión de ubuntu viene una por defecto una versión de Open JDK, que es una variación open-source del JRE y JDK de oracle.

Para instalar la versión OpenJDK de ubuntu ejecutamos los siguientes comandos:

sudo apt install default-jdk default-jre

El paquete JRE (Java Runtime Enviroment) será el que te permitirá ejecutar cualquier programa software programado en Java, y el paquete JDK (Java Development Kit) es el que te permitirá compilar y ejecutar algunos programas específicos de Java.

En el caso de que estés utilizando un servidor es interesante que instales la versión de menor consumo de memoria, solo tendrás que añadir headless al final del nombre del paquete, en este caso será:

sudo apt install default-jdk-headless default-jre-headless

Esto instalará la versión predefinida del entorno OpenJDK para cada distribución de Ubuntu. A veces esta versión no es la última disponible que puedes instalar.

Podremos ver la versión instalada de java con el siguiente comando:

java -version

Obtendremos algo parecido a esto:

openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

Y para verificar que el paquete JDK está correctamente instalado tenemos que chequear la versión de javac (el compilador de java) con el siguiente comando:

javac -version

Obtendrás algo parecido a esto:

javac 10.0.1

Versiones específicas de OpenJDK

Para las últimas versiones solo será necesario buscar el papuete de Openjdk que está disponible para esa versión de ubuntu.

Te dejo un listado de los distintas paquetes que te puedes encontrar:

  • OpenJDK 7: sudo apt-get install openjdk-7-jdk openjdk-8-jre
  • OpenJDK 8: sudo apt install openjdk-8-jdk openjdk-8-jre
  • OpenJDK 10/11: sudo apt install openjdk-11-jdk openjdk-11-jre
  • OpenJDK 12: sudo apt install openjdk-12-jdk openjdk-12-jre

Instalación de Oracle JDK

Estos de oracle son la repera, en vez de aunar fuerzas con openjdk y luego cobrar por una versión premium a las empresas, pues han decidido desarrollar algunas funciones extra para cobrar por su solución.

Oracle Java 8

Entonces si queremos instalar la versión que distribuye oracle, necesitas añadir un repositorio de paquetes para la versión oracle JDK. La versión de soporte largo es la 8, y necesitarás ejecutar el siguiente comando:

sudo add-apt-repository ppa:webupd8team/java

Te aparecerá un mensaje en el que entre otras cosas dice que Java 9 ha llegado al final de su vida, que los instaladores de Java 6 y 7 ya no funcionan, que este repositorio funciona para las versiones de Ubuntu 18.04, 17.10. 16.04, 14.04 y 12.04, y que para Java 10 y posteriores hay que utilizar otro repositorio.

Solo tendremos que actualizar el sistema e instalar Java 8:

sudo apt update
sudo apt install oracle-java8-installer

El proceso de instalación descargará el archivo JDK de Oracle y te pedirá que aceptes el acuerdo de licencia, una vez lo hagas se instalará el JDK.

Oracle Java 11 y 13

También tenemos otro repositorio para versiones de Oracle más modernas que pueden ser interesantes para instalarlos en tu ordenador. Este repositorio en principio no lo recomiendo debido a las condiciones que aplica ahora Oracle a sus nuevas versiones de Java, aunque si lo necesitas puedes utilizarlo sin problemas.

Este repositorio contiene los instaladores para Ubuntu, Linux Mint y Debian de Oracle Java 11 (LTS) y 13. Seguro que cuando escribo ya habrá otra versión mayor de Java.

Los binarios de Java no están alojados en ese PPA debido a la licencia que tiene. Los paquetes de instalación simplemente descargan e instalan la versión que corresponde de Oracle Java, por lo que vas a necesitar una conexión a internet, aunque si estás leyendo esto es que funciona bien.

Este repositorio se basa en el anterior los de webup8team y lo han creado los usuarios de www.linuxuprising.com.

La versión de Oracle Java 11 y mayores han cambiado su licencia desde el 16 de Abril de 2019. La nueva licencia permite ciertos usos, tales como uso personal y de desarrollo sin ningún coste, pero otros usos que se autorizaban con la anterior licencia ya no estén disponibles bajo la nueba licencia de Oracle JDK. Tiene un FAQ disponible aquí

Por lo que entenderás que después de este cambio, la nueva versión de Oracle Java 11 y las que vengan (11.0.3 y nuevas) necesitan de una cuenta Oracle para descargar los binarios. Este PPA necesita que te descargues el Oracle JDK 11 .tar.gz y lo coloques en una carpeta, solamente así podrás instalar el paquete oracle-java11-installer-local.

Los paquete Oracle Java 10 y 12 han llegado al final de las actualizaciones públicas, así que ya no están disponibles, por lo que es mejor que cambies a Oracle Java 11 o OpenJDK11 que es de soporte largo, o instales el último Java 13.

Ahora ya sabes como instalar varias versiones de JAVA, el siguiente pasó será como gestionarlas para que tu sistema utilice una u otra versión.

Pues después de todo este tostón, que en unos meses seguro que cambia, vamos a añadir el repositorio:

sudo add-apt-repository ppa:linuxuprising/java -y
sudo apt update

Para instalar Oracle Java 11:

echo oracle-java11-installer shared/accepted-oracle-license-v1-2 select true | sudo /usr/bin/debconf-set-selections && \
apt-get install -y oracle-java11-installer && \
apt install oracle-java11-set-default

Si queremos instalar Oracle Java 13:

sudo apt install oracle-java13-installer
sudo apt install oracle-java13-set-default

Para hacer que Oracle Java sea la que el sistema usa por defecto, después de instalar el paquete (vale para cualquier distribución) hay que ejecutar install the oracle-java12-set-default.

Con esto tendríamos instalado Java de Oracle.

Loading...

Instalación manual de Java

Supongamos que por un casual se te ha ido la olla y vas a instalar Java de manera manual, puede ser ya que hay gente para todo.

Tus razones tendrás, pero como este artículo trata de darte la respuesta a la instalación de Java, aunque sea de esta manera, te voy a explicar el proceso.

Primero nos vamos a la página de Java de 64bits para descargarnos Java 7 o Java 8. Por las razones explicadas en los puntos anteriores te recomiendo que sea Java 8.

Una vez descargado el archivo Java 8, que será algo así: jdk-8u221-linux-x64.tar.gz. Con este archivo simplemente tenemmos que descomprimirlo y guardarlo en una carpeta del sistema para que todo el mundo lo pueda ejecutar.

Para esto aplicamos los siguientes comandos:

sudo mkdir /usr/lib/jvm/java-8-jdk
sudo tar -C /usr/lib/jvm/java-8-jdk -zxf ~/jdk-8u221-linux-x64.tar.gz

Con esto ya tendríamos instalado Java, solo nos faltaría configurar en el ordenador que Java queremos utilizar, ya que podemos instalar todas las versiones que queramos, pero solo podemos tener una activa en cada momento.

Y nos queda JAVAWS

Esta tecnología es Java Web Start, que básicamente se trata de la implementación del estandard Java Network Launching Protocol (JNLP), el cual permite arrancar aplicaciones Java que están en un servidor web, comprobando previamente si el cliente tiene la última versión, y si no es así se descargará la última versión y se ejecutará en local. Así se asegura que la aplicación que se ejecuta está en su última versión.

Los ficheros que contienen toda la información necesaria, tienen la extensión .jnlp.

Lo malo de Java Web Start (JWS) es que oracle dejó de desarrollar en Java 9, a partir del cambio de licencia en Java 11 decidió eliminarla de sus distribuciones JDK. Dicho de otra manera, lo que tienen instalada la última versión de Java ya no pueden usar aplicaciones basadas en JWS, y dado que el soporte público de Java 8 finalizó en el segundo trimestre de 2019, las empresas ya no reciben actualizaciones ni correcciones de seguridad para Java Web Start.

La opción que nos queda medianamente potable es el paquete icedtead-netx. Para instalarlo ejecuta el siguiente comando: sudo apt install icedtea-netx

Gestionar las versiones de Java

En un ordenador podemos instalar varias versiones de Java, pero solo podemos una que funcione al mismo tiempo. Para cambiar la versión de Java o seleccionar otra que instalamos posteriormente usamos el siguiente comando en la consola: sudo update-alternatives --config java

La salida debería parecerse a algo de esto si has instalado varias versiones de Java:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Te saldrá una pregunta en la que tendrás que elegir el número asociado con la versión de Java que quieres usar por defecto, o presiona **ENTER** para dejar la selección actual.

Pueder hacer esto para otros comandos de Java, tales como el compilador (javac) o el javaws, con los siguientes comandos:

sudo update-alternatives --config javac
sudo update-alternatives --config javaws

Otros comandos para los que se puede ejecutar esta configuración incluyen, entre otros: keytool, javadoc y jarsigner.

Establecer la variable de entorno JAVA_HOME

Muchos programas que están escritos en el lenguaje JAVA usan la variable de entorno JAVA_HOME para conocer la ubicación donde está instalado Java.

Establecer esta variable de entorno es muy sencillo, pero primero necesitamos saber el directorio donde está instalada Java. Para ello podemos utilizar el comando update-alternative como hemos utilizado en el apartado anterior: sudo update-alternatives --config java

Con esto sabremos donde está instalado Java, como por ejemplo para las siguientes versiones de Java:

  1. OpenJDK 11 se encuentra en: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
  2. OpenJDK 8 se encuentra en: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
  3. Oracle Java 8 se encuentra en: /usr/lib/jvm/java-8-oracle/jre/bin/java

Una vez que sepamos esto simplemente tendremos que copiar la ruta de la instalación preferida de Java y abrimos el archivo /etc/enviroment usando el editor de texto que te de la gana. A mi me resulta más sencillo nano por lo que abrirlo sería así: sudo nano /etc/enviroment

Al final de este archivo, añadiremos la siguiente línea, asegurándonos de que hemos copiado correctamente de Java que vamos a utilizar. En estse caso elegiremos la versión OpenJDK 11: JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"

Añadiendo esta líne al final del archivo conseguimos que todos los usuarios del sistema establezcan la variable JAVA_HOME con el valor que le hemos dado. También lo puedes hacer con una sola línea en la terminal: sudo echo $'\nJAVA_HOME='which java>> /etc/enviroment

Una vez que hemos guardado el archivo, recargamos el archivo para aplicar los cambios en la sesión que tenemos activa con el siguiente comando: source /etc/enviroment

Ahora verificarás que la variable de entorno esté establecida: echo $JAVA_HOME

Y debería aparecer algo como esto: /usr/lib/jvm/java-11-openjdk-amd64/bin/

Si hay más usuarios en la máquina trabajando al mismo tiempo es posible que necesiten desloguearse y volver a loguearse en el sistema.

Confirmar Instalación de Java

Pues ya hemos acabado, después de tanto rollo vamos a comprobar la instalación de Java que tenemos en nuestro sistema. Ejecutamos en el terminal: java --version

Y obtendremos algo parecido a esto:

java 10.0.1 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

y para los demás lo comprobaríamos así:

javac -version
_salida_
javac 10.0.1
javaws -version
_salida_
Java(TM) Web Start 11.221.2.11-fcs

Conclusión

Al final la instalación de Java la necesitaba para un programa que al final no funcionó con todo lo que hice.

Ya sabes que mis manuales son detallados porque me gusta aprender y escribir todas las posibles opciones que tiene alguien que instala Java en Ubuntu o cualquier linux. Con esto ya sabrás como tener esa versión de Java que te interese en tu máquina y adaptarla a tus necesidades.

Si has llegado hasta aquí es que te ha molado el post, por lo que para que pueda hacer mejores artículos necesito una ayuda económica y puedes desde darle al banner de publicidad, comprar productos o donarme un jate, eso te lo dejo a tu valoración.

Un saludo y nos vemos en el siguiente artículo.

Auriculares bluetooth para escuchar sin cables
Auriculares bluetooth
Cómo hacer un mantenimiento de tu impresora
mantenimiento de una impresora, mantenimiento y limpieza de una impresora, mantenimiento de impresora láser, mantenimiento de impresora de tinta, mantenimiento de impresora brother, mantenimiento impresora chorro de tinta, mantenimiento impresora multifuncional

Loading...

Archivado en:Ubuntu

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral primaria

Comentarios recientes

    Artículos recientes

    Un potente editor de texto para nuestro sistema operativo Ubuntu

    17 de diciembre de 2020 Por luidelkacha Dejar un comentario

    Footer

    Texto sobre la web

    Esto es un ejemplo de widget de texto.

    Seguiremos informando.

    Entradas recientes

    • Un potente editor de texto para nuestro sistema operativo Ubuntu
    • Instalar el universo Java en Ubuntu
    • 3 servicios de almacenamiento en la nube que uso
    • Mapas mentales en Ubuntu
    • Configurar el servidor en autologin con ssh sin usar pasword

    Buscar …

    Derechos de autor © 2021 · Magazine Pro en · WordPress · Iniciar sesión

    Utilizamos una galletitas (también llamadas cookies) para darte una navegación y brindarte la experiencia más relevante al recordar tus preferencias y quieras volver. Dándole a Aceptar, das tu consentimiento para el uso de TODAS las cookies.
    Ajustes CookieACEPTAR
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necesarias
    Siempre activado

    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

    No necesarias

    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.