Je souhaite mettre à niveau mon système principal vers 16.04, mais je travaille sur des projets nécessitant OpenJDK 7.
Apparemment, ce n'est pas disponible à partir d'un trivial apt-get install openjdk-7-jdk
. Seules les versions 8 et 9 sont répertoriées dans le référentiel.
Quelqu'un peut-il m'indiquer des instructions sur la façon de l'installer?
Réponses:
MISE À JOUR: BIEN QUE C’EST LA RÉPONSE LA PLUS ÉCHOTÉE, C’EST SANS PROBABLEMENT CELLE QUE VOUS VOULEZ UTILISER EN 2018 EN RAISON DE L’ABS DE MISE À JOUR DE SÉCURITÉ PAR CET APP.
J'ai trouvé les instructions suivantes qui ont fonctionné pour moi:
Cela définit «PPA pour les téléchargements OpenJDK (restreint)» en tant que référentiel de packages supplémentaire, met à jour vos informations et installe le package avec ses dépendances (à partir de ce référentiel).
la source
sudo update-java-alternatives
afin que vous puissiez faire de openjdk-7 la valeur par défaut.22 juillet 2019 : Cette réponse ne fonctionne pas pour le moment. Les paquets JDK référencés ci-dessous ne sont plus disponibles sous Debian Experimental. En tout état de cause, ils étaient à la traîne par rapport aux packages d'Ubuntu Trusty, qui contenaient des mises à jour de sécurité plus récentes. Veuillez vous reporter aux autres réponses jusqu'à ce que cela puisse être résolu (désolé, pas d'ETA).
Il ne semble pas que le responsable de openjdk-r / ppa mette à jour le paquet openjdk-7 au-delà de la version 7u95-2.6.4-3. La description de ce paquet "Copié à partir de expérimental debian dans Archive primaire pour Debian GNU / Linux" nous donne cependant un indice sur la façon de gérer cela nous-mêmes.
Option 1: Installation manuelle
Téléchargez les packages destinés à votre architecture:
(pour la plupart des utilisateurs, cela signifie amd64 si 64 bits ou i386 si Ubuntu 32 bits est installé)
(Essayer de) installer les paquets en utilisant
dpkg
:Ubuntu 17.10 et versions antérieures:
Ubuntu 18.04 et plus tard:
Vérifiez la sortie de
dpkg
. S'il y avait des problèmes de dépendance - ce qui est probable -, vous verrez ce qui suit (avec votre architecture remplacée par amd64):S'il n'y a pas eu de problèmes de dépendance, tant mieux, c'est fini, passez à l'étape 4. Sinon, si vous avez besoin de résoudre certains problèmes de dépendance, ceci est traité avec:
Notez qu'il n'est pas nécessaire de réexécuter l'exécution
dpkg
après avoirapt
résolu les dépendances. Il va automatiquement terminer l'installation des paquets openjdk.Mettre à jour les alternatives Java. Vous pouvez voir toutes les versions de Java installées avec
update-java-alternatives --list
. Pour activer OpenJDK Java 1.7, exécutez:Vous remarquerez peut-être une erreur indiquant que le
IcedTeaPlugin.so
plug - in est indisponible. Ce n'est pas un problème pour les développeurs qui travaillent avec le JDK.Vérifiez que Java fonctionne:
qui devrait produire quelque chose de similaire à:
Option 2: Installation automatique (y compris les mises à jour avec
apt
)Pinning peut être utilisé pour installer et mettre à jour openjdk-7-jdk et ses dépendances à partir de référentiels Debian.
Créez un fichier d'identification qui
apt
ne prenne en compte que les paquets qui nous intéressent (nous ne voulons certainement pas que toute notre distribution Ubuntu soit "mise à niveau" avec les paquets expérimentaux Debian).Créer un fichier
/etc/apt/preferences.d/debian
avec le contenu ci-dessous. Vous aurez besoin de privilèges de super - utilisateur, utilisez donc l' un dessudo vim
,sudo nano
,gksudo gedit
, etc.Pour Ubuntu 17.10 et les versions antérieures, ajoutez également les éléments suivants (et voir la note en bas):
Installez le trousseau Debian:
Remarque: bien qu’il s’agisse de la méthode la plus simple d’ajout du trousseau de clés debian, elle peut ne pas être à jour. Recherchez les résultats suivants lors de l'exécution
apt update
de l'étape 4:Si vous voyez cette erreur, ajoutez manuellement les clés nécessaires avec:
où
8B48AD6246925553
et7638D0442B90D010
doit correspondre aux mots clés publics que vous voyez dans le message d'avertissement.Ajoutez les référentiels nécessaires:
Pourquoi ne pas utiliser un référentiel Debian stable? Vous rencontrerez des dépendances insatisfiables avec Debian stable. Les référentiels expérimental (pour openjdk-7) et sid (pour libjpeg62-turbo, libfontconfig1 et fontconfig-config) sont plus cléments avec les versions de dépendance.
Mettre à jour le
apt
cache (cela devrait prendre un certain temps puisque les listes de paquets de Debian sont grandes):Installez openjdk-7-jdk:
Mettre à jour les alternatives Java. Vous pouvez voir toutes les versions de Java installées avec
update-java-alternatives --list
. Pour activer OpenJDK Java 1.7, exécutez:Vous remarquerez peut-être une erreur indiquant que le
IcedTeaPlugin.so
plug - in est indisponible. Ce n'est pas un problème pour les développeurs qui travaillent avec le JDK.Vérifiez que Java fonctionne:
qui devrait produire quelque chose de similaire à:
notes de fontconfig
libfontconfig1
etfontconfig-config
doit être mis à niveau vers la version 2.12 ou ultérieure sur Ubuntu 17.10 et les versions antérieures. Les packages de mise à jour de Debian ne contiennent pas les personnalisations d'Ubuntu. Certaines applications affichent donc des polices laides avec ces packages installés. par exemple Charles Web Debugging Proxy. Selon les programmes que vous utilisez, vous pouvez être affecté ou non par ce problème.la source
Vous pouvez télécharger un OpenJDK 7 d’Azul qui convient à vos besoins. Ils ont tous deux une distribution DEB (pour le système de paquet) et une distribution ZIP. J'ai uniquement travaillé avec la distribution ZIP.
http://www.azul.com/downloads/zulu/zulu-linux/
la source
Installer Java 7 sur Ubuntu 16.04, Ubuntu 17.04
Il est recommandé d'installer Oracle Java , car il présente un avantage en termes de performances par rapport à OpenJDK . Pour cette raison, je veux poster une alternative. Si vous souhaitez installer Oracle Java, exécutez les commandes suivantes dans Terminal pour l’installer à partir de PPA.
Ajoutez les référentiels nécessaires:
Mettre à jour le
apt
cache et installer oracle-java7 :Au cours du processus d'installation, vous devrez accepter le contrat de licence Oracle . Une fois installé, nous devons définir des variables d’environnement Java telles que JAVA_HOME.
Corrigez les variables d'environnement Java.
Vérifiez que Java fonctionne:
qui devrait produire quelque chose de similaire à:
la source
apt-get
tente d'obtenir le programme d'installation à partir d'une page inexistante. - Si vous avez besoin de JDK 7, vous pouvez télécharger les programmes d'installation à partir du site Web d'Archive: oracle.com/technetwork/java/javase/downloads/…Oracle JDK alternative:
Je voulais éviter l'effort avec les référentiels parce que je basculais entre 7, 8 et 9, alors je me suis retrouvé avec Oracle JDK plutôt que OpenJDK. Téléchargé sur le site officiel . Je ne suis pas sûr de savoir si la dernière version 80 contient les mêmes correctifs que la version 161 d'OpenJDK. Mais je l'ai pour le développement, ce qui ne veut pas dire grand chose pour moi en tout cas.
Ensuite, vous devez définir
$JAVA_HOME
l'environnement afin que différents scripts récupèrent le bon JDK (par exemple, Maven, JBoss, etc.).Pour être complet, la version 7 de JDK a été supprimée. Même le support public de JDK 8 prend fin depuis septembre 2017 et ne recevra aucune mise à jour publique après septembre 2018.
la source
Utiliser des conteneurs
C’est une réponse universellement valable sur la façon d’exécuter un
<outdated>
logiciel supprimé sur<current>
Ubuntu: conteneurisez votre application .Par exemple, utilisez Docker et une image de base Ubuntu plus ancienne dans laquelle le logiciel que vous recherchez est toujours disponible / maintenu.
Cela fonctionne aussi dans l'autre sens. essayez le logiciel sur une distribution plus récente, voire une autre, de Linux sur votre Ubuntu stable en cours d'exécution.
Exemple pour Java 7 sous Ubuntu 14.04
Installer Docker - La version gratuite de Docker CE convient. Voir par exemple https://docs.docker.com/install/linux/docker-ce/ubuntu/ ou utilisez le
docker.io
paquet dans les versions récentes d'Ubuntu livrées.Dans un dossier vide, créez un fichier
Dockerfile
:Ajoutez plus de paquets dans cette commande si vous en avez besoin.
Dans ce dossier, lancez:
Exécutez une commande dans un conteneur à usage unique en utilisant cette image Java 7:
Par exemple
java -version
:Sortie:
Vous pouvez éventuellement créer une enveloppe pour plus de commodité.
Créez un fichier
/usr/local/bin/java7-in-docker
avec le contenu:Cela rendra le répertoire de travail actuel disponible dans le conteneur, et non votre système de fichiers complet, et empruntera l'identité de votre compte d'utilisateur local dans l'espace de noms du conteneur.
Marquez-le comme exécutable:
Exécutez votre Java 7 de manière transparente, comme ceci:
la source
Un moyen facile est:
Ajoutez ces lignes à
/etc/apt/sources.list
:Puis mettez à jour apt et installez. Vous aurez probablement besoin de déclasser le
tzdata
paquet.Après cela, je recommanderais de commenter ces lignes et apt update à nouveau pour empêcher l’installation ou la mise à jour des paquetages à partir de ce référentiel (ce qui pourrait entraîner un comportement inattendu).
Un problème est que vous devez conserver ces packages pour qu'ils ne soient pas supprimés lorsque vous mettez à jour votre système (spécialement les
tzdata
packages).REMARQUE : Utilisez cette méthode en dernier recours, préférez toute autre solution vous permettant de mettre à jour sans problèmes.
la source