Acrtualizar java desde Linux puede ser una autentica odisea , en este post vamos a ver como solucionar este inconveniente
Para conseguir que un fichero .jar funcione en Ubuntu deben cumplirse dos requisitos
Comentar que existen dos versiones
- El JRE o Java Runtime Enviroment que no es más que el conjunto de aplicaciones y librerías necesarias para poder usar una aplicación Java (prácticamente la máquina virtual y algunas herramientas más)
- El JDK o Java Development Kit que está formado por el JRE mencionado en el punto anterior y todo lo necesario para poder desarrollar aplicaciones en este lenguaje de programación.
Si tiene instalado el JRE,bastara con hacer click con el botón derecho sobre un fichero .jar y seleccionar en el formulario que nos aparece, escribir a continuación escribiremos
Bueno ¿y si no nos funciona?
Pues en ocasiones si intentamos instalar el JRE en Ubuntu puede ser casi un verdadera odisea pues es frecuente que muestre un error similar al siguiente:
introducir el código aquí sudo apt install oracle-java8-set-default Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho , pero algún otro paquete hace referencia a él. Esto puede significar que el paquete falta, está obsoleto o sólo se encuentra disponible desde alguna otra fuente Sin embargo, los siguientes paquetes lo reemplazan: oracle-java12-set-default oracle-java11-set-default-local E: El paquete "oracle-java8-set-default" no tiene un candidato para la instalación
También si intenta con el siguiente comando nos da el mismo error
sudo apt install oracle-java8-installer
Puede que muestre este mensaje :
los siguientes paquetes lo reemplazan: oracle-java12-set-default oracle-java11-set-default-local
El problema es que si adicionamos también el repositorio de webupd8 esos paquetes se encuentran en otro repositorio .
sudo add-apt-repository ppa:webupd8team/java
-
Pero aun así , si lo intentamos instalar seguimos obteniendo el mismo error
Este es un log de ejemplo de lo que pueda usted también sufriendo intentando instalar el jdk por ejemplo para crear aplicaciones en java con el Ide de Eclpise o simplemente porque necesita ejecutar un jar desde Ubuntu Linux Mint o cualquier otra version de Linux:
[email protected]:~$ sudo add-apt-repository ppa:webupd8team/java
[sudo] contraseña para soloelectronicos:
The Oracle JDK License has changed for releases starting April 16, 2019.
The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK licenses. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here: https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html
Oracle Java downloads now require logging in to an Oracle account to download Java updates, like the latest Oracle Java 8u211 / Java SE 8u212. Because of this I cannot update the PPA with the latest Java (and the old links were broken by Oracle).
For this reason, THIS PPA IS DISCONTINUED.
For Oracle Java 11, see a different PPA -> https://www.linuxuprising.com/2019/06/new-oracle-java-11-installer-for-ubuntu.html
That same PPA also has Oracle Java 13 -> https://www.linuxuprising.com/2019/09/install-oracle-java-13-on-ubuntu-linux.html
and Oracle Java 14 ->
https://www.linuxuprising.com/2020/03/how-to-install-oracle-java-14-jdk14-on.html
Old description:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
The PPA supports Ubuntu 18.10, 18.04, 16.04, 14.04 and 12.04.
More info (and Ubuntu installation instructions):
- http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
Más información: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Pulse [ENTRAR] para continuar o Ctrl+C para cancelar la adición.
Obj:1 http://ppa.launchpad.net/thopiekar/cura/ubuntu bionic InRelease
Des:2 http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease [15,4 kB]
Obj:3 http://es.archive.ubuntu.com/ubuntu bionic InRelease
Des:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]
Obj:5 https://repo.skype.com/deb stable InRelease
Des:6 http://es.archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]
Des:7 http://es.archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]
Des:8 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [38,7 kB]
Des:9 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [42,1 kB]
Des:10 http://es.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages [669 kB]
Des:11 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2.464 B]
Des:12 http://es.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [915 kB]
Des:13 http://es.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [301 kB]
Des:14 http://es.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages [1.014 kB]
Des:15 http://es.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1.065 kB]
Des:16 http://es.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [273 kB]
Des:17 http://es.archive.ubuntu.com/ubuntu bionic-updates/universe DEP-11 64x64 Icons [458 kB]
Des:18 http://es.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2.468 B]
Des:19 http://es.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [7.968 B]
Descargados 5.057 kB en 4s (1.376 kB/s)
Leyendo lista de paquetes... Hecho
[email protected]:~$ sudo apt update
Obj:1 http://ppa.launchpad.net/thopiekar/cura/ubuntu bionic InRelease
Obj:2 http://es.archive.ubuntu.com/ubuntu bionic InRelease
Des:3 http://security.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]
Obj:4 http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease
Des:5 http://es.archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]
Obj:6 https://repo.skype.com/deb stable InRelease
Des:7 http://es.archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]
Des:8 http://security.ubuntu.com/ubuntu bionic-security/main amd64 DEP-11 Metadata [38,6 kB]
Des:9 http://es.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [301 kB]
Des:10 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 DEP-11 Metadata [42,1 kB]
Des:11 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2.464 B]
Des:12 http://es.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [273 kB]
Des:13 http://es.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2.468 B]
Des:14 http://es.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [7.968 B]
Descargados 920 kB en 3s (307 kB/s)
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se pueden actualizar 12 paquetes. Ejecute "apt list --upgradable" para verlos.
[email protected]:~$ sudo apt install oracle-java8-installer
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete oracle-java8-installer no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
E: El paquete "oracle-java8-installer" no tiene un candidato para la instalación
[email protected]:~$ apt list --upgradable
Listando... Hecho
binutils/bionic-updates,bionic-security 2.30-21ubuntu1~18.04.3 amd64 [actualizable desde: 2.30-21ubuntu1~18.04.2]
binutils-common/bionic-updates,bionic-security 2.30-21ubuntu1~18.04.3 amd64 [actualizable desde: 2.30-21ubuntu1~18.04.2]
binutils-x86-64-linux-gnu/bionic-updates,bionic-security 2.30-21ubuntu1~18.04.3 amd64 [actualizable desde: 2.30-21ubuntu1~18.04.2]
gnome-software/bionic-updates 3.28.1-0ubuntu4.18.04.15 amd64 [actualizable desde: 3.28.1-0ubuntu4.18.04.14]
gnome-software-common/bionic-updates,bionic-updates 3.28.1-0ubuntu4.18.04.15 all [actualizable desde: 3.28.1-0ubuntu4.18.04.14]
libbinutils/bionic-updates,bionic-security 2.30-21ubuntu1~18.04.3 amd64 [actualizable desde: 2.30-21ubuntu1~18.04.2]
libjson-glib-1.0-0/bionic-updates 1.4.2-3ubuntu0.18.04.1 amd64 [actualizable desde: 1.4.2-3]
libjson-glib-1.0-common/bionic-updates,bionic-updates 1.4.2-3ubuntu0.18.04.1 all [actualizable desde: 1.4.2-3]
libnautilus-extension1a/bionic-updates 1:3.26.4-0~ubuntu18.04.5 amd64 [actualizable desde: 1:3.26.3-0ubuntu4]
python3-update-manager/bionic-updates,bionic-updates 1:18.04.11.12 all [actualizable desde: 1:18.04.11.10]
update-manager/bionic-updates,bionic-updates 1:18.04.11.12 all [actualizable desde: 1:18.04.11.10]
update-manager-core/bionic-updates,bionic-updates 1:18.04.11.12 all [actualizable desde: 1:18.04.11.10]
[email protected]:~$ java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
[email protected]:~$ sudo apt install oracle-java8-installer
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete oracle-java8-installer no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
E: El paquete "oracle-java8-installer" no tiene un candidato para la instalación
[email protected]:~$ sudo apt install default-jre
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
default-jre ya está en su versión más reciente (2:1.11-68ubuntu1~18.04.1).
El paquete indicado a continuación se instaló de forma automática y ya no es necesario.
libllvm6.0
Utilice "sudo apt autoremove" para eliminarlo.
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 12 no actualizados.
[email protected]:~$
[email protected]:~$ sudo apt install oracle-java8-installer
[sudo] contraseña para soloelectronicos:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete oracle-java8-installer no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
E: El paquete "oracle-java8-installer" no tiene un candidato para la instalación
RESOLUCION
Pues el problema es que el repo webupd8team lo han descontinuado desde hace ya tiempo; teniendo el mismo inconveniente en Mint 19.1 queriendo instalar la JDK 1.8.0_31, y la solución que he encontrado es netamente manual pero muy sencilla :
Lo primero es descargar la JDK desde el sitio web de Oracle donde nos van a pedir las credenciales para acceder ( es gratuito)
Después, desde una ventana de terminal ejecute los siguientes comandos (tenga cuidado pues los comandos varian en la version de JDK!):
- Descomprimir al directorio
/usr/lib/jvm
:sudo tar -zxf ~/Descargas/jdk-8u202-linux-x64.tar.gz -C /usr/lib/jvm
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_202/bin/java 100
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_202/bin/javac 100
- Establecer la JDK de Oracle como default:
sudo update-alternatives --config java
Y seleccione la opción correspondiente a la JDK 8( en el ejemplo seleccione 3):
[email protected]:~/Descargas$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_202/bin/java 100
[email protected]:~/Descargas$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_202/bin/javac 100
[email protected]:~/Descargas$ sudo update-alternatives --config java
Existen 2 opciones para la alternativa java (que provee /usr/bin/java).
Selección Ruta Prioridad Estado
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 modo automático
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 modo manual
2 /usr/lib/jvm/jdk1.8.0_202/bin/java 100 modo manual
Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 2
update-alternatives: utilizando /usr/lib/jvm/jdk1.8.0_202/bin/java para proveer /usr/bin/java (java) en modo manual