Comment installer OpenJDK 8 sur 14.04 LTS?

306

Java 8 est maintenant disponible selon http://openjdk.java.net/projects/jdk8/ , mais http://openjdk.java.net/install/ ne précise pas encore comment installer OpenJDK 8 (pas Oracle Java) sur Ubuntu 14.04 Support à long terme. (Pour 14.10 et plus tard, il suffit de courir apt-get install openjdk-8-jdk)

Comment et quand cela peut-il être fait?

(2017-08-08: La réponse très courte est: OpenJDK 8 à partir du 2017-08-08 n'est pas officiellement disponible dans les dépôts officiels sous forme de package APT pour Ubuntu 14.04. Voir le résumé complet dans cette réponse. )

Remarque: Pour le moment, nous allons utiliser Oracle Java. La solution optimale pour moi est toutefois OpenJDK à partir des référentiels Ubuntu, jusqu'à ce qu'Oracle Java soit disponible directement et sans effort à partir des référentiels Ubuntu.


Thorbjørn Ravn Andersen
la source
1
Vous devez le compiler vous-même. Voici comment: github.com/hgomez/obuildfactory/wiki/… Changez le nom du fichier pour qu'il corresponde à la version 8 ;-)
Rinzwind
2
Azul a commencé à fournir des versions d'OpenJDK sous le nom "Zulu" qui peuvent être téléchargées, décompactées et utilisées automatiquement. (Ils gagnent leur argent de soutien). azulsystems.com/products/zulu/downloads
Thorbjørn Ravn Andersen
1
Notamment, le même ppa sur lequel apt-fast for trusty est hébergé ppa:saiarcot895/myppa, a une version d’openjdk-8 qui fonctionne. haussement d'épaules
ThorSummoner
À mesure que le temps passe, il semble que la solution la plus simple consiste simplement à mettre à niveau la version 16.04 LTS lorsqu'elle est disponible.
Thorbjørn Ravn Andersen

Réponses:

277

Vous pouvez le faire pour;

Mise à jour finale

JDK

sudo apt-get install openjdk-8-jdk

JRE

sudo apt-get install openjdk-8-jre

Ancienne mise à jour

J'ai trouvé deux référentiels mais je ne recommande pas

  • OpenJDK construit (tous les arcs)

    ppa:openjdk-r/ppa
  • OpenJDK 8 backport pour fidèle

    ppa:jochenkemnade/openjdk-8

Message d'origine

Si vous voulez vraiment utiliser OpenJDK, vous devez compiler à partir des sources. Il n'y a pas encore de PPA pour OpenJDK.

Il a été demandé à https://bugs.launchpad.net/ubuntu/+bug/1297065

Je vous recommande d'utiliser Webup8 Oracle Java8 Installer

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

Pour configurer automatiquement les variables d’environnement Java 8

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

Vérifie ça

java -version

Il faut donc attendre pour utiliser OpenJDK8

Muhasturk
la source
8
@JohnMerlino, je suppose que le PPA autorise les mises à jour automatiques lorsque de nouvelles versions sont publiées.
Thorbjørn Ravn Andersen
7
openjdk-8 est maintenant dans Utopic. bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1341628 a été relancé à backport à 14.04 car il est LTS:
Thorbjørn Ravn Andersen
56
Pourquoi la nouvelle édition? Il semble ne pas encore être dans le repo 14.04 et sudo apt-get install openjdk-8-jdkne fonctionne pas au moins pour moi.
xji
17
À compter du 2016-01-11, les PPA non officiels d'Ubuntu sont toujours nécessaires, car OpenJDK 8 n'a pas encore atterri dans les ports de retour. Je ne considère pas cela comme une réponse à ma question même s'il semble que d'autres le fassent.
Thorbjørn Ravn Andersen
8
Cette réponse est très trompeuse car incomplète, elle indique qu'elle ne recommande pas le PPA mentionné mais ne fonctionnera pas sans elle.
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
la source
7
Ce référentiel est daté; à ce jour, la dernière version de openjdk 1.8 est 66. La version disponible dans ce dépôt est la 45.
mattm
Impossible de récupérer ppa.launchpad.net/openjdk-r/ppa/ubuntu/pool/main/o/openjdk-8/… 502 apt-cacher: erreur libcurl: Echec lors de la réception de données de l'homologue
Rajesh Hatwar
1
Ce sont les étapes minimales correctes. 4 et 5 sont optionnels et éventuellement non nécessaires.
Air
Ne fonctionne pas pour Ubuntu 14.04E: Package 'openjdk-8-jdk' has no installation candidate
Naive
Cela fonctionnait pour moi lors de la mise à niveau de Jenkins (la version plus récente nécessitait Java8, Java7 n’était installé que sur mon système). Il est à noter que la quatrième ligne était essentielle pour que Jenkins se comporte correctement. jusqu'à ce que je l'utilise, j'ai continué à me faire Jenkins requires Java8 or later, but you are running 1.7.0_121-b00 from /usr/lib/jvm/java-7-openjdk-amd64/jre. Avoir un vote positif ... Je vous en donnerais plus si je pouvais.
Doktor
62

OpenJDK 8 a été publié en mars 2014. Au moment de cette question, il n'y a pas de paquet OpenJDK 8 dans les référentiels officiels Ubuntu pour les versions d'Ubuntu. Ils "seront bientôt disponibles", comme l' indique la page du projet JDK 8 , pour une définition ultérieure.

Premièrement, les packages OpenJDK 8 arriveront dans la version de développement Ubuntu. Cela peut arriver pendant le cycle de développement de 14h10, mais il n'y a pas de calendrier défini à ma connaissance. Certains packages de prévisualisation ont été construits et sont disponibles pour des tests, voir l’annonce sur les listes de diffusion debian-java et Ubuntu openjdk . À un moment donné, ces paquets seront téléchargés dans les référentiels de développement Debian et Ubuntu.

Une fois que OpenJDK 8 est dans la version de développement Ubuntu, il peut être possible de demander qu’il soit renvoyé en backport à 14.04. Notez qu'il ne sera jamais disponible dans le trustyréférentiel principal , mais si vous l'utilisez, trusty-backportsil peut être installé à partir de là à un moment donné. Lisez à propos du processus de demande de backports dans Ubuntu ici .

Mike Miller
la source
4
J'ai essayé de répondre à votre question "comment et quand" avec les contraintes que vous semblez vouloir: doivent provenir de référentiels officiels, doivent être OpenJDK et doivent être la version 14.04 LTS.
Mike Miller
30
Son février 2016, et java 8 n'est toujours pas disponible sur Ubuntu 14.04 LTS. C'est décevant.
Bhavin Doshi
2
Nous sommes en avril 2016, toujours pas de java 8 ...
Stephan Henningsen
3
Ubuntu 16.04 sortira en avril 2016, il aura OpenJDK 8 .
Mike Miller
8
Nous sommes en septembre 2016. Ubuntu 14.04 LTS sera toujours pris en charge jusqu'en 2019 ... et il faudra beaucoup de temps pour adopter 16.04 en raison de changements de plus grande envergure (par exemple, systemd), il est donc toujours décevant que java 8 ne soit pas facile à installer via apt sur 14.04 :(
geerlingguy
34

Remarque - Cela fonctionnera uniquement avec 14.10 ou plus tard :

1 an de retard, mais comme aujourd'hui, cela fonctionne comme prévu avec apt-get.

Pour installer JDK:

$ sudo apt-get install openjdk-8-jdk

Pour installer JRE:

$ sudo apt-get install openjdk-8-jre

Comment définir le JDK par défaut

Moyen le plus rapide

Exécuter $ sudo update-alternatives --config javaet entrez le numéro pour lequel JDK utiliser de votre choix.

Deuxième façon

Listez les 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

Maintenant, pour copier-coller l’emplacement de Open JDK 8 afin de faire correspondre la commande ci-dessous:

$ sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64
caraca
la source
3
Je ne vois toujours que les JDK 6 et 7, pas d'openjdk-8-jdk sur Linux 14.04, après la mise à jour sudo d'apt-get. Avez-vous ajouté un référentiel spécial? J'ai des backports de confiance activés.
Akauppi
2
Je pense que vous courez 14.10 ou 15.04, n'est-ce pas?
Akauppi
1
Je ne peux pas reproduire sur 14.04 LTS. S'il vous plaît confirmer que c'est la version.
Thorbjørn Ravn Andersen
1
@akauppi vous avez raison !! Je cours 14.10. Désolé pour le dérangement, devrais-je retirer ma réponse?
caraca
1
Je ne voudrais pas qu'il soit supprimé - pour certains, utiliser 14.10 au lieu de 14.04 pourrait être une très bonne alternative.
Akauppi
22

Voici ce que j'utilise pour configurer Oracle Java 7 et Java 8 [note: pas OpenJDK] à partir de zéro sur 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

Ceci est sans surveillance et convient à l'inclusion dans un bloc de disposition vagabond; J'ai un résumé avec plus de détails: https://gist.github.com/tinkerware/cf0c47bb69bf42c2d740

EDIT: Cela acceptera automatiquement la licence d'Oracle pour le JDK; assurez-vous que vous êtes d'accord avec cela avant de le lancer.

Cagatay
la source
1
Cela semble bon. Mais il manque la partie où vous obtenez un accès root. Encore bonne réponse.
MadMike
1
Droite; J'utilise cela avec Vagrant, qui configure l' vagrantutilisateur avec un mot de passe sans mot de passe sudo.
Cagatay
5
Ceci est Oracle Java, pas OpenJDK Java qui était la question. Notez également que les lignes d'écho circument la question d'acceptation de licence de l'installateur.
Thorbjørn Ravn Andersen
3
@ ThorbjørnRavnAndersen Oui, j'ai remarqué que la question portait sur OpenJDK; J'ai spécifiquement dit que ma méthode est pour installer Oracle Java. Vous pouvez faire valoir que cela n’est pas lié, mais je pense qu’il est utile de noter une alternative qui vous permet quand même de disposer d’un runtime pouvant exécuter Java 7/8 sur 14.04 LTS. Le "contournement" de la question de l'acceptation d'une licence est un choix de mot intéressant; Je dirais qu'il faut lire la licence Oracle avant d'exécuter le script, qui automatise l'acceptation lors de l'installation.
Cagatay
3
Merci @Cagatay !! cette réponse m'a été très utile, je cherchais une installation de Java 8 avec Vagrant.
Sotsir
14

En date du 2017-08-08, j'ai constaté que la question et ses réponses étaient devenues un peu difficile à creuser pour comprendre le problème. J'ai donc résumé les résultats dans cette réponse.

La réponse très courte est qu'OpenJDK 8 du 2017-08-08 n'est pas officiellement disponible pour Ubuntu 14.04 .

Il y a cependant beaucoup d'options disponibles:

  • Passez à une version plus récente d'Ubuntu. OpenJDK 8 est disponible à partir de 14h10. (OpenJDK 9 à partir de 16.04 LTS et OpenJDK 11 à partir de 18.04 LTS)
  • Téléchargez et installez Oracle Java (pas OpenJDK) à partir de http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html manuellement en tant que fichier tar.gz qui doit simplement être décompressé et conservé. la licence acceptée avant que le binrépertoire puisse être ajouté à votre $PATHvariable. Vous pouvez également choisir d’utiliser un tiers PPA. Notez qu'Oracle Java ne semble être destiné qu'aux clients payants dans un avenir prévisible (autour de Java 11).
  • Téléchargez OpenJDK 8 en utilisant un PPA tiers.
  • Téléchargez une version certifiée Azul d'OpenJDK 8 à l' adresse http://www.azul.com/downloads/zulu/zulu-linux/ (DEB).
  • Compilez le source et installez-le vous-même.

Voir les autres réponses pour plus de détails.

Notez que les archives de paquets personnels (PPA) sont généralement créées par des individus sur une base volontaire. Le contenu peut être obsolète ou disparaître sans avertissement.

Personnellement, je recommanderais de mettre à jour Ubuntu vers 18.04 LTS ou, si ce n’est pas possible, télécharger une version Azul.


Remarque: Si vous avez toujours besoin d'un backporté d'OpenJDK 8 vers 14.04, votez pour ce bogue en vous connectant et en cliquant sur "Est-ce que cela vous concerne" en haut: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/ + bug / 1368094

Thorbjørn Ravn Andersen
la source
5

Remarque Depuis le 22 avril 2016, les packages pour Vivid ont été supprimés, hélas. Article dans packages.ubuntu.com: "Reflect xenial release, yakkety, remove vivid". La solution de contournement de cette réponse est astucieuse mais n'est plus applicable dans la situation actuelle. À la date du 6 janvier 2017, java 8 n'avait pas encore de base de données sur backpack.ubuntu.com/trusty-backports/java. Veuillez modifier si les modifications s'appliquent.


Voir la réponse du site officiel Android

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

Il n'y a pas de packages OpenJDK 8 supportés disponibles pour Ubuntu 14.04. Les paquets Ubuntu 15.04 OpenJDK 8 ont été utilisés avec succès avec Ubuntu 14.04. Les versions plus récentes des packages (par exemple, celles de 15.10, 16.04) ne fonctionnaient pas sur 14.04 en suivant les instructions ci-dessous.

Téléchargez les packages .deb pour votre architecture à l' adresse http://packages.ubuntu.com/vivid/openjdk-8-jdk :
openjdk-8-jre-headless
openjdk-8-jre
openjdk-8-jdk

N'oubliez pas que vous pouvez obtenir l'architecture de votre machine avec:

$ uname -m    

x86_64 représente une architecture de noyau Linux 64 bits (amd64) et i386 / i486 / i586 / i686 représente un système 32 bits (i386).

Vous pouvez éventuellement confirmer les sommes de contrôle des fichiers téléchargés à l'aide des informations figurant sur http://packages.ubuntu.com/vivid/openjdk-8-jdk .

Par exemple, avec l’outil sha256sum:

$ sha256sum {package file}    

Installez les paquets:

$ sudo apt-get update    

Exécutez dpkg pour chacun des fichiers .deb que vous avez téléchargés. Cela peut générer des erreurs dues à des dépendances manquantes:

$ sudo dpkg -i {downloaded.deb file}    

Pour réparer les dépendances manquantes:

$ sudo apt-get -f install    
Bin Chen
la source
4

Je viens de voter ici et maintenant, nous sommes 733 personnes qui s’intéressent au port en retour de openjdk-8 à ubuntu-14.04.

J'ai trouvé ce référentiel PPA assez à jour

et j'espère prometteur!?

et cela a fonctionné pour moi. J'ai réussi à installer openjdk-8-jdk sur ubuntu-14.04 avec les commandes suivantes:

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

et voici ma java -versionsortie:

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)

et voici ma uname -asortie:

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

et voici ma lsb_release -asortie:

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

Mon fournisseur de serveur hôte virtuel me dit qu'ils n'assurent que la prise en charge d'Ubuntu-14.04 et je suppose qu'ils veulent continuer comme ça jusqu'en 2019! alors s'il vous plaît laissez-moi savoir si vous connaissez une meilleure façon d'avoir OpenJDK-8 sur Ubuntu-14.04?

Merci!

Sid Morad
la source
Je recommanderais d'utiliser Azul Zulu. azul.com/downloads/zulu
Thorbjørn Ravn Andersen
Je devais aussi exécuter ce qui suit pour le faire fonctionner: sudo update-java-alternatives --jre --set java-1.8.0-openjdk-amd64etsudo update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
champost le
2

Le gestionnaire de paquets Nix maintient également des paquets binaires d'OpenJDK 8 pour Ubuntu, ce qui signifie que vous pouvez obtenir un compilateur Java 8 opérationnel en moins de cinq minutes, du début à la fin (avec une connexion Internet rapide, bien sûr).

Les étapes sont les suivantes:

  1. Installez le gestionnaire de paquets Nix ( https://www.domenkozar.com/2014/01/02/getting-started-with-nix-package-manager/ ):$ bash <(curl https://nixos.org/nix/install)

  2. Exécutez le shell one-liner Nix vous indique à la fin de l’installation: $ . ~/.nix-profile/etc/profile.d/nix.sh

  3. Installez le paquet OpenJDK Nix: $ nix-env -i openjdk

  4. Chèque javac:$ javac -version

C'est ça. Oh, et vous voudrez bien mettre le one-liner de l’étape 2 dans votre ~/.bashrc. Cela indiquera à Nix de lier correctement vos packages installés (car il conserve les fichiers dans des répertoires non standard).

Yawar
la source
1
Par curiosité, pourquoi voudriez-vous un gestionnaire de paquets supplémentaire en plus d’apt-get?
Thorbjørn Ravn Andersen
2
@ ThorbjørnRavnAndersen - La raison spécifique est d'obtenir rapidement OpenJDK 8 avec un minimum de douleur, et la raison générale est que Nix est une amélioration révolutionnaire par rapport à apt-get et à d'autres gestionnaires de paquets plus anciens.
Yawar
Je demande dans le cas général - pas pour OpenJDK en particulier. Il doit exister des raisons très lourdes d’introduire un nouveau gestionnaire de package pour compenser la non utilisation de l’écosystème existant, ce que j’ai du mal à voir.
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen - il existe de très bonnes raisons de recommander Nix dans le cas général. Comme je l'ai mentionné, c'est une amélioration révolutionnaire. Sur l'échelle de git over svn. Consultez infoq.com/articles/configuration-management-with-nix pour plus d'informations.
Yawar
2

Je reçois OpenJDK 8 des dépôts officiels de Debian, plutôt que des PPA aléatoires. Voici comment je l'ai fait:

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

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

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

où vous changez <httpredir>avec le préfixe d'un miroir local (voir https://www.debian.org/mirror/list )

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

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

Enfin, faites l’installation:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk
Hans-Christoph Steiner
la source
Cette réponse ne fonctionne pas pour moi. openjdk-8-jdkveut openjdk-8-jreque veut libjpeg62-turbo. Selon aptce dernier est "non installable" ou plus verbalement "n'est pas disponible, mais est désigné par un autre paquet. Cela peut signifier que le paquet est manquant, est devenu obsolète, ou est disponible uniquement à partir d'une autre source" - donc pas des dépôts que j'ai. La poursuite devient trop large pour être sage
XavierStuvw
1

En fait, il est également facile de construire vous-même Java 8 directement à partir de sources ... Cela vous fait peur? C'est vraiment étonnamment facile, et prend littéralement 15 minutes environ, en utilisant https://github.com/hgomez/obuildfactory/ , comme je l'ai décrit sur http://blog2.vorburger.ch/2014/06/build- votre-propre-jdk-at-home.html

vorbeur
la source
1
Construire est une chose. Qu'en est-il du TCK?
Thorbjørn Ravn Andersen
1
@ ThorbjørnRavnAndersen Je n'en ai aucune idée. Pour un utilisateur final individuel, l'auto-construction est déjà utile à mon humble avis. Préparer un colis soigneusement testé est probablement une autre histoire ... Je crains de ne rien connaître de plus que vous. J'ai juste regardé autour de moi et trouvé openjdk.java.net/groups/conformance/JckAccess , l'aviez-vous vu?
Vorburger
1

Mise à jour du 11 mars 2016, lancez-les en tant que 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
la source
2
La première ligne n'est pas nécessaire. Les 4 lignes suivantes sont équivalentes à add-apt-repository ppa:openjdk-r/ppa. Cette réponse est également une copie des plus anciennes.
Paul Stelian
1
En résumé (à partir du 02/05/2017), c'est ce qui fonctionne pour moi. sudo add-apt-repository -y ppa:openjdk-r/ppa; sudo apt-get update; sudo apt-get install -y openjdk-8-jdk
Tzunghsing David Wong