¿Cómo instalar OpenJDK 8 en 14.04 LTS?

306

Java 8 ahora está disponible de acuerdo con http://openjdk.java.net/projects/jdk8/ , pero http://openjdk.java.net/install/ aún no menciona cómo instalar OpenJDK 8 (no Oracle Java) en Ubuntu 14.04 Soporte a largo plazo. (Para 14.10 y posterior solo ejecuta apt-get install openjdk-8-jdk)

¿Cómo y cuándo se puede hacer esto?

(2017-08-08: La respuesta muy breve es: OpenJDK 8 a partir de 2017-08-08 no está oficialmente disponible en los repositorios oficiales como un paquete APT para Ubuntu 14.04. Ver resumen completo en esta respuesta )

Nota: Por ahora usaremos Oracle Java; la solución óptima para mí es, sin embargo, OpenJDK desde los repositorios de Ubuntu, hasta que Oracle Java esté disponible directamente y sin esfuerzo desde los repositorios de Ubuntu.


Thorbjørn Ravn Andersen
fuente
1
Necesitas compilarlo tú mismo. Así es como: github.com/hgomez/obuildfactory/wiki/… Cambie el nombre del archivo para que coincida con la versión 8 ;-)
Rinzwind
2
Azul ha comenzado a proporcionar compilaciones OpenJDK bajo el nombre "Zulu" que se pueden descargar, desempaquetar y usar automáticamente. (Ganan su dinero del apoyo). azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen
1
Es notorio que el mismo ppa en el que se aloja apt-fast for trusty ppa:saiarcot895/myppatiene una versión de openjdk-8 que funciona. encogimiento de hombros
ThorSummoner
A medida que pasa el tiempo, parece que la solución más simple es simplemente opgrade 16.04 LTS cuando esté disponible.
Thorbjørn Ravn Andersen

Respuestas:

277

Puedes hacer esto por;

Actualización final

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Actualización anterior

Encontré dos repositorios pero no recomiendo

  • Construcciones OpenJDK (todos los arcos)

    ppa:openjdk-r/ppa
  • OpenJDK 8 backport para confianza

    ppa:jochenkemnade/openjdk-8

Mensaje original

Si realmente quieres usar OpenJDK, debes compilar desde la fuente. Todavía no hay ningún PPA para OpenJDK.

Se ha solicitado en https://bugs.launchpad.net/ubuntu/+bug/1297065

Le recomiendo que use el instalador Webup8 Oracle Java8

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer

Para configurar automáticamente las variables de entorno de Java 8

sudo apt-get install oracle-java8-set-default

Revisalo

java -version

Entonces tienes que esperar para usar OpenJDK8

muhasturk
fuente
8
@JohnMerlino, supongo que el PPA permite actualizaciones automáticas cuando se lanzan nuevas versiones.
Thorbjørn Ravn Andersen
77
openjdk-8 ahora está en Utopic. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 se ha elevado a backport a 14.04 ya que es LTS:
Thorbjørn Ravn Andersen
56
¿Por qué la nueva edición? Parece que todavía no está en el repositorio 14.04 y sudo apt-get install openjdk-8-jdkno funciona al menos para mí.
xji
17
A partir de 2016-01-11, los PPA no oficiales de Ubuntu todavía son necesarios, ya que OpenJDK 8 aún no ha aterrizado en los puertos. No considero que esto sea una respuesta a mi pregunta, aunque parece que otros sí.
Thorbjørn Ravn Andersen
8
Esta respuesta es muy engañosa debido a que está incompleta, dice que no recomienda el PPA mencionado pero que no funcionará sin él.
Reinier Post
176
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
Pankaj Wahane
fuente
77
Este repositorio está fechado; a partir de hoy, la última versión de openjdk 1.8 es 66. La versión disponible en este repositorio es 45.
mattm
Error al recuperar ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/… 502 apt-cacher: error de libcurl: error al recibir datos del par
Rajesh Hatwar
1
Estos son los pasos mínimos correctos. 4 y 5 son opcionales y posiblemente no son obligatorios.
Aire
No funciona para Ubuntu 14.04E: Package 'openjdk-8-jdk' has no installation candidate
Naive
Esto funcionó para mí al actualizar Jenkins (la versión más nueva requería Java8, mi sistema solo tenía Java7 instalado). Cabe destacar que la cuarta línea fue crítica para que Jenkins se comportara adecuadamente; hasta ejecutarlo, seguí obteniendo Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. Tener un voto a favor ... Te daría más si pudiera.
Doktor J
62

OpenJDK 8 se lanzó en marzo de 2014. Al momento de esta pregunta, no hay paquetes de OpenJDK 8 en los repositorios oficiales de Ubuntu para ninguna versión de Ubuntu. "Estarán disponibles pronto", como dice la página del proyecto JDK 8 , para alguna definición de pronto.

Primero, los paquetes OpenJDK 8 aterrizarán en la versión de desarrollo de Ubuntu. Esto puede suceder durante el ciclo de desarrollo 14.10, pero no hay un cronograma establecido hasta donde yo sé. Se han creado algunos paquetes de vista previa y están disponibles para pruebas, consulte el anuncio en las listas de correo debian-java y Ubuntu openjdk . En algún momento, estos paquetes se cargarán en los repositorios de desarrollo de Debian y Ubuntu.

Una vez que OpenJDK 8 esté en la versión de desarrollo de Ubuntu, entonces es posible solicitar que se regrese a 14.04. Tenga en cuenta que nunca estará disponible en el trustyrepositorio principal , pero si lo usa trusty-backports, puede ser instalable desde allí en algún momento. Lea sobre el proceso para solicitar backports en Ubuntu aquí .

Mike Miller
fuente
44
Traté de responder a su pregunta "cómo y cuándo" con las restricciones que parece querer: debe ser de repositorios oficiales, debe ser OpenJDK y debe ser la versión 14.04 LTS.
Mike Miller
30
Es febrero de 2016, y Java 8 todavía no está disponible en Ubuntu 14.04 LTS. Esto es decepcionante.
Bhavin Doshi
2
Es abril de 2016, todavía no hay Java 8 ...
Stephan Henningsen
3
Ubuntu 16.04 saldrá en abril de 2016, tendrá OpenJDK 8 .
Mike Miller
8
Es septiembre de 2016, y Ubuntu 14.04 LTS seguirá siendo compatible hasta 2019 ... y tomará mucho tiempo adoptar 16.04 debido a cambios a gran escala (por ejemplo, systemd), por lo que sigue siendo decepcionante java 8 no es fácil de usar. instalar a través de apt en 14.04 :(
geerlingguy
34

Nota: Esto solo funcionará con 14.10 o posterior :

1 año de retraso, pero como hoy funciona como se esperaba con apt-get.

Para instalar JDK:

$ sudo apt-get install openjdk-8-jdk

Para instalar JRE:

$ sudo apt-get install openjdk-8-jre

Cómo configurar el JDK predeterminado

La manera más rápida

Ejecute $ sudo update-alternatives --config javae ingrese el número para el cual JDK usará de su elección.

Segunda forma

Enumere los JDK disponibles:

$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

Ahora, para copiar y pegar la ubicación de Open JDK 8 para que coincida con el siguiente comando:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64
caraca
fuente
3
Todavía solo veo JDKs 6 y 7, no openjdk-8-jdk en mi Linux 14.04, después de sudo apt-get update. ¿Agregaste un repositorio especial? Tengo habilitados los backports de confianza.
akauppi
2
Creo que estás ejecutando 14.10 o 15.04, ¿no?
akauppi
1
No puedo reproducir en 14.04 LTS. Por favor confirme que esta es la versión.
Thorbjørn Ravn Andersen
1
@akauppi tienes razón !! Estoy corriendo 14.10. Disculpe las molestias, ¿debo eliminar mi respuesta?
caraca
1
No desearía que se eliminara; para algunos, usar 14.10 en lugar de 14.04 podría ser una alternativa perfectamente buena.
akauppi
22

Esto es lo que uso para configurar Oracle Java 7 y Java 8 [nota: no OpenJDK] desde cero en Ubuntu 14.04 LTS:

apt-get -y -q update
apt-get -y -q upgrade
apt-get -y -q install software-properties-common htop
add-apt-repository ppa:webupd8team/java
apt-get -y -q update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
apt-get -y -q install oracle-java8-installer
apt-get -y -q install oracle-java7-installer
update-java-alternatives -s java-8-oracle

Esto es desatendido y es adecuado para su inclusión en un bloque de disposición de Vagrant; Tengo una idea general con más detalles: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDITAR: Esto aceptará automáticamente la licencia de Oracle para el JDK; asegúrese de estar de acuerdo con eso antes de ejecutarlo.

Cagatay
fuente
1
Se ve bien. Pero le falta la parte donde obtiene acceso de root. Sigue siendo una buena respuesta.
MadMike
1
Derecho; Lo uso con Vagrant, que configura al vagrantusuario sin contraseña sudo.
Cagatay
55
Esto es Oracle Java, no OpenJDK Java, que era de lo que se trataba la pregunta. También tenga en cuenta que las líneas de eco hacen circular la pregunta de aceptación de licencia del instalador.
Thorbjørn Ravn Andersen
3
@ ThorbjørnRavnAndersen Sí, noté que la pregunta era sobre OpenJDK; Dije específicamente que mi método es para instalar Oracle Java. Puede argumentar que esto no está relacionado, pero creo que es valioso señalar una alternativa que aún le ofrece un tiempo de ejecución que puede ejecutar Java 7/8 en 14.04 LTS. La pregunta de "elusión" de la aceptación de la licencia es una elección de palabra interesante; Yo diría que uno debería leer la licencia de Oracle antes de ejecutar el script, que automatiza la aceptación durante la instalación.
Cagatay
3
Gracias @Cagatay !! esta respuesta fue muy útil para mí, estaba buscando la instalación de Java 8 usando Vagrant.
Sotsir
14

A partir de 2017-08-08 descubrí que esta pregunta y sus respuestas se habían vuelto un poco abrumadoras para entender el problema, por lo que resumí los hallazgos en esta respuesta.

La respuesta muy breve es que OpenJDK 8 a partir de 2017-08-08 no está oficialmente disponible para Ubuntu 14.04 .

Sin embargo, hay muchas opciones disponibles:

  • Actualice a una versión más nueva de Ubuntu. OpenJDK 8 está disponible desde 14.10 en adelante. (OpenJDK 9 desde 16.04 LTS en adelante, OpenJDK 11 desde 18.04 LTS en adelante)
  • Descargue e instale Oracle Java (no OpenJDK) desde http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html manualmente como un archivo tar.gz que solo necesita ser desempaquetado y tener la licencia aceptada antes de que el bindirectorio se pueda agregar a su $PATHvariable. También puede optar por utilizar un PPA de terceros. Tenga en cuenta que Oracle Java parece ser solo para clientes que pagan en el futuro previsible (alrededor de Java 11).
  • Descargue OpenJDK 8 utilizando un PPA de terceros.
  • Descargue una compilación certificada Azul de OpenJDK 8 desde http://www.azul.com/downloads/zulu/zulu-linux/ (DEB)
  • Compile la fuente e instálela usted mismo.

Ver otras respuestas para más detalles.

Tenga en cuenta que los archivos de paquetes personales (PPA) generalmente los realizan individuos de forma voluntaria. El contenido puede estar desactualizado o desaparecer sin previo aviso.

Personalmente, recomendaría actualizar Ubuntu a 18.04 LTS, o si no es posible descargar una versión Azul.


Nota: Si aún necesita OpenJDK 8 con soporte para 14.04, vote por este error iniciando sesión y haciendo clic en "¿Le afecta?" En la parte superior: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + error / 1368094

Thorbjørn Ravn Andersen
fuente
5

Nota Desde el 22 de abril de 2016, los paquetes para Vivid se han eliminado, por desgracia. Artículo de noticias en packages.ubuntu.com: "Refleje el lanzamiento xenial, agregue yakkety, elimine vívido". La solución alternativa de esta respuesta es inteligente, pero ya no es aplicable en la situación actual. A partir del 6 de enero de 2017, todavía no hay backport para java 8 en los paquetes de confianza.ubuntu.com/trusty-backports/java. Edite como se apliquen los cambios.


Ver la respuesta del sitio oficial de Android

https://source.android.com/source/initializing.html

No hay paquetes compatibles de OpenJDK 8 disponibles para Ubuntu 14.04. Los paquetes Ubuntu 15.04 OpenJDK 8 se han utilizado con éxito con Ubuntu 14.04. Se encontró que las versiones de paquete más nuevas (por ejemplo, las de 15.10, 16.04) no funcionan en 14.04 siguiendo las instrucciones a continuación.

Descargue los paquetes .deb para su arquitectura desde http://packages.ubuntu.com/vivid/openjdk-8-jdk :
openjdk-8-jre-headless
openjdk-8-jre
openjdk-8-jdk

Recuerde, puede obtener la arquitectura para su máquina con:

$ uname -m    

x86_64 representa una arquitectura de kernel de Linux de 64 bits (amd64) y el i386 / i486 / i586 / i686 representa el sistema de 32 bits (i386).

Opcionalmente, confirme las sumas de verificación de los archivos descargados utilizando la información que se encuentra en http://packages.ubuntu.com/vivid/openjdk-8-jdk .

Por ejemplo con la herramienta sha256sum:

$ sha256sum {package file}    

Instala los paquetes:

$ sudo apt-get update    

Ejecute dpkg para cada uno de los archivos .deb que descargó. Puede producir errores debido a la falta de dependencias:

$ sudo dpkg -i {downloaded.deb file}    

Para arreglar las dependencias que faltan:

$ sudo apt-get -f install    
Bin Chen
fuente
4

Acabo de votar aquí y ahora somos 733 personas a las que nos importa respaldar openjdk-8 a ubuntu-14.04.

Encontré que este repositorio de PPA está bastante actualizado

y con suerte prometedor?

Y funcionó para mí. Tuve éxito al instalar openjdk-8-jdk en ubuntu-14.04 con los siguientes comandos:

sudo add-apt-repository ppa:jonathonf/openjdk
sudo apt-get update
sudo apt-get install openjdk-8-jdk

y aquí está mi java -versionsalida:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~14.04.york0-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

y aquí está mi uname -asalida:

Linux mars1 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

y aquí está mi lsb_release -asalida:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

¡Mi proveedor de servidor de host virtual me dice que solo proporcionan soporte para Ubuntu-14.04 y supongo que quieren seguir así hasta 2019! así que, por favor, avíseme si conoce alguna forma mejor de tener openjdk-8 en ubuntu-14.04.

¡Gracias!

Sid Morad
fuente
Recomendaría usar Azul Zulu. azul.com/downloads/zulu
Thorbjørn Ravn Andersen
También tuve que ejecutar lo siguiente para que funcionara: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64ysudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
campeón el
2

El administrador de paquetes Nix también mantiene paquetes binarios de OpenJDK 8 para Ubuntu, lo que significa que puede obtener un compilador Java 8 que funcione en menos de cinco minutos de principio a fin (con una conexión rápida a Internet, por supuesto).

Los pasos son:

  1. Instale el administrador de paquetes de Nix ( https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ):$ bash <(curl https://nixos.org/nix/install)

  2. Ejecute el shell one-liner que Nix le indica al final de la instalación: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. Instale el paquete OpenJDK Nix: $ nix-env -i openjdk

  4. Comprobar javac:$ javac -version

Eso es. Ah, y querrás asegurarte de poner la línea del paso 2 en tu ~/.bashrc. Eso le dirá a Nix que vincule sus paquetes instalados correctamente (ya que mantiene los archivos reales en directorios no estándar).

Yawar
fuente
1
Por curiosidad, ¿por qué querrías un administrador de paquetes adicional además de apt-get?
Thorbjørn Ravn Andersen
2
@ ThorbjørnRavnAndersen: la razón específica es obtener rápidamente OpenJDK 8 con un dolor mínimo, y la razón general es que Nix es una mejora revolucionaria sobre apt-get y otros administradores de paquetes más antiguos.
Yawar
Estoy preguntando en el caso general, no específicamente para OpenJDK. Debe haber razones muy importantes para introducir un nuevo administrador de paquetes que supere la no utilización del ecosistema existente, lo cual me cuesta mucho ver.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen: hay muy buenas razones para recomendar a Nix en el caso general. Como mencioné, es una mejora revolucionaria. En la escala de git sobre svn. Visite infoq.com/articles/configuration-management-with-nix para obtener más información.
Yawar
2

Recibo OpenJDK 8 de los repositorios oficiales de Debian, en lugar de algunos PPA aleatorios. Así es como lo hice:

sudo apt-get install debian-keyring debian-archive-keyring

Hacer /etc/apt/sources.list.d/debian-jessie-backports.list:

deb http://<httpredir>.debian.org/debian/ jessie-backports main

donde cambia <httpredir>con el prefijo de un espejo cercano (consulte https://www.debian.org/mirror/list )

Hacer /etc/apt/preferences.d/debian-jessie-backports:

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

Luego finalmente haga la instalación:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk
Hans-Christoph Steiner
fuente
Esta respuesta no me funciona. openjdk-8-jdkquiere openjdk-8-jreque quiere libjpeg62-turbo. De acuerdo con aptesto último, "no es instalable" o, de manera más detallada, "no está disponible, pero otro paquete lo menciona. Esto puede significar que el paquete falta, ha quedado obsoleto o solo está disponible de otra fuente", por lo tanto no de los repositorios que tengo. La persecución se vuelve demasiado amplia para ser sabio
XavierStuvw
1

En realidad, también es fácil construir el Java 8 usted mismo directamente desde las fuentes ... ¿Suena aterrador? Realmente es sorprendentemente fácil, y en serio literalmente toma alrededor de 15 minutos, usando https://github.com/hgomez/obuildfactory/ , como lo describí en http://blog2.vorburger.ch/2014/06/build- your-own-jdk-at-home.html

vorburger
fuente
1
Construir es una cosa. ¿Qué pasa con el TCK?
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen No tengo idea. Para un usuario final individual, la autoconstrucción ya es útil en mi humilde opinión. Para preparar realmente un paquete completamente probado, probablemente sea otra historia ... Me temo que no sé nada más que tú. Solo miré a mi alrededor y encontré openjdk.java.net/groups/conformance/JckAccess , ¿lo habías visto?
vorburger
1

Actualice el 11 de marzo de 2016, ejecútelos como root:

apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DA1A4A13543B466853BAF164EB9B1D8886F44E2A
touch /etc/apt/sources.list.d/openjdk.list
echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main " >>/etc/apt/sources.list.d/openjdk.list
echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main" >>/etc/apt/sources.list.d/openjdk.list
apt-get update
apt-get -y install openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
echo "$JAVA_HOME"
Zhang Lei
fuente
2
La primera línea no es necesaria. Las siguientes 4 líneas son equivalentes a add-apt-repository ppa:openjdk-r/ppa. Esta respuesta también es un duplicado de las anteriores.
Paul Stelian
1
En resumen (a partir del 2017-05-02), esto es lo que funciona para mí. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong