Ceci est une ancienne révision du document !
Table des matières
Java, un langage multi-plateformes
Introduction
Java est un langage de programmation orienté objet mis au point par Sun Microsystems (racheté par Oracle en 2010) qui permet de produire des logiciels indépendants de toute architecture matérielle.
Un programme compilé en bytecode Java s’exécute dans un environnement d'exécution Java (JRE) qui émule une machine virtuelle, dite machine virtuelle Java.
La plate-forme Java correspond à la machine virtuelle Java à laquelle sont adjointes diverses spécifications d’API :
- Java Platform, Standard Edition (Java SE) contient les API de base et est destiné aux ordinateurs de bureau,
- Java Platform, Enterprise Edition (Java EE) contient, en plus du précédent, des API orientées entreprise et est destiné aux serveurs,
- Java Platform, Micro Edition (Java ME) est destiné aux appareils mobiles tels que assistants personnels ou smartphones,
- La Java FX Edition (ou Java FX) est orientée Rich Internet Application (RIA).
Ne confondez pas Java avec JavaScript, un langage de programmation de scripts !
Pré-requis
- Aucun pré-requis
Installation
Version d'Oracle
- Ajoutez le ppa :
...@...:~ $ sudo add-apt-repository -u ppa:linuxuprising/java Oracle Java 11 (LTS) and 17 (LTS) installer for Ubuntu (21.10, 21.04, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, Linux Mint and Debian. ...
Notez que le ppa ppa:webupd8team/java est abandonné
- Installez java :
...@...:~$ sudo apt install oracle-java117-installer oracle-java11-installer-local oracle-java17-installer oracle-java11-set-default-local oracle-java17-set-default nicolas@chateau:~$ sudo apt install oracle-java17-installer [sudo] Mot de passe de nicolas : Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : eog-plugin-toolbar gdk-pixbuf-psd gdk-pixbuf-raw Veuillez utiliser « sudo apt autoremove » pour les supprimer. Les paquets supplémentaires suivants seront installés : oracle-java17-set-default Paquets suggérés : visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming Les NOUVEAUX paquets suivants seront installés : oracle-java17-installer oracle-java17-set-default 0 mis à jour, 2 nouvellement installés, 0 à enlever et 1 non mis à jour. Il est nécessaire de prendre 34,0 ko dans les archives. Après cette opération, 133 ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n] Réception de :1 http://ppa.launchpad.net/linuxuprising/java/ubuntu focal/main amd64 oracle-java17-installer amd64 17.0.1-1~linuxuprising5 [31,5 kB] Réception de :2 http://ppa.launchpad.net/linuxuprising/java/ubuntu focal/main amd64 oracle-java17-set-default all 17.0.1-1~linuxuprising5 [2 540 B] 34,0 ko réceptionnés en 0s (94,4 ko/s) Préconfiguration des paquets... Sélection du paquet oracle-java17-installer précédemment désélectionné. (Lecture de la base de données... 445392 fichiers et répertoires déjà installés. ) Préparation du dépaquetage de .../oracle-java17-installer_17.0.1-1~linuxuprising 5_amd64.deb ... oracle-license-v1-3 license has already been accepted Dépaquetage de oracle-java17-installer (17.0.1-1~linuxuprising5) ... Paramétrage de oracle-java17-installer (17.0.1-1~linuxuprising5) ... No /var/cache/oracle-jdk17-installer/wgetrc file found. Creating /var/cache/oracle-jdk17-installer/wgetrc and using default oracle-java17-installer wgetrc settings for it. Downloading Oracle Java 17... --2022-07-10 10:19:06-- http://download.oracle.com/java/17/archive/jdk-17.0.1_l inux-x64_bin.tar.gz Résolution de download.oracle.com (download.oracle.com)… 104.87.16.86 Connexion à download.oracle.com (download.oracle.com)|104.87.16.86|:80… connecté . requête HTTP transmise, en attente de la réponse… 301 Moved Permanently Emplacement : https://download.oracle.com/java/17/archive/jdk-17.0.1_linux-x64_b in.tar.gz [suivant] --2022-07-10 10:19:06-- https://download.oracle.com/java/17/archive/jdk-17.0.1_ linux-x64_bin.tar.gz Connexion à download.oracle.com (download.oracle.com)|104.87.16.86|:443… connect é. requête HTTP transmise, en attente de la réponse… 200 OK Taille : 180723427 (172M) [application/x-gzip] Enregistre : «jdk-17.0.1_linux-x64_bin.tar.gz» 0K ........ ........ ........ ........ 18% 1,85M 76s 32768K ........ ........ ........ ........ 37% 2,30M 53s 65536K ........ ........ ........ ........ 55% 2,16M 37s 98304K ........ ........ ........ ........ 74% 2,22M 21s 131072K ........ ........ ........ ........ 92% 2,92M 6s 163840K ........ .... 100% 2,27M=77s 2022-07-10 10:20:24 (2,24 MB/s) - «jdk-17.0.1_linux-x64_bin.tar.gz» enregistré [ 180723427/180723427] Download done. Removing outdated cached downloads... update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jar » pour fournir « /usr/bin/jar » (jar) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jarsigner » pour fournir « /usr/bin/jarsigner » (jarsigner) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/javac » po ur fournir « /usr/bin/javac » (javac) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/javadoc » pour fournir « /usr/bin/javadoc » (javadoc) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/javap » po ur fournir « /usr/bin/javap » (javap) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jcmd » pou r fournir « /usr/bin/jcmd » (jcmd) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jconsole » pour fournir « /usr/bin/jconsole » (jconsole) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jdb » pour fournir « /usr/bin/jdb » (jdb) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jdeprscan » pour fournir « /usr/bin/jdeprscan » (jdeprscan) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jdeps » po ur fournir « /usr/bin/jdeps » (jdeps) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jfr » pour fournir « /usr/bin/jfr » (jfr) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jhsdb » po ur fournir « /usr/bin/jhsdb » (jhsdb) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jimage » p our fournir « /usr/bin/jimage » (jimage) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jinfo » po ur fournir « /usr/bin/jinfo » (jinfo) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jlink » po ur fournir « /usr/bin/jlink » (jlink) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jmap » pou r fournir « /usr/bin/jmap » (jmap) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jmod » pou r fournir « /usr/bin/jmod » (jmod) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jpackage » pour fournir « /usr/bin/jpackage » (jpackage) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jps » pour fournir « /usr/bin/jps » (jps) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jrunscript » pour fournir « /usr/bin/jrunscript » (jrunscript) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jshell » p our fournir « /usr/bin/jshell » (jshell) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jstack » p our fournir « /usr/bin/jstack » (jstack) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jstat » po ur fournir « /usr/bin/jstat » (jstat) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/jstatd » p our fournir « /usr/bin/jstatd » (jstatd) en mode automatique update-alternatives: utilisation de « /usr/lib/jvm/java-17-oracle/bin/serialver » pour fournir « /usr/bin/serialver » (serialver) en mode automatique Oracle JDK 17 installed #####Important######## To set Oracle JDK 17 as default, install the "oracle-java17-set-default" package . E.g.: sudo apt install oracle-java17-set-default. Sélection du paquet oracle-java17-set-default précédemment désélectionné. (Lecture de la base de données... 445414 fichiers et répertoires déjà installés. ) Préparation du dépaquetage de .../oracle-java17-set-default_17.0.1-1~linuxuprisi ng5_all.deb ... Dépaquetage de oracle-java17-set-default (17.0.1-1~linuxuprising5) ... Paramétrage de oracle-java17-set-default (17.0.1-1~linuxuprising5) ... Traitement des actions différées (« triggers ») pour mime-support (3.64ubuntu1) ... Traitement des actions différées (« triggers ») pour hicolor-icon-theme (0.17-2) ... Traitement des actions différées (« triggers ») pour gnome-menus (3.36.0-1ubuntu 1) ... Traitement des actions différées (« triggers ») pour shared-mime-info (1.15-1) . .. Traitement des actions différées (« triggers ») pour desktop-file-utils (0.24-1u buntu3) ...
...@...:~ $ sudo apt install oracle-java17-installer
- utilisez l'autocomplétion avec javaTab ⇆ pour trouver la bonne version
- Acceptez la licence (touches Tab ⇆ et ↵ Entrée)
- Testez :
...@...:~ $ java -version java version "15.0.2" 2021-01-19 Java(TM) SE Runtime Environment (build 15.0.2+7-27) Java HotSpot(TM) 64-Bit Server VM (build 15.0.2+7-27, mixed mode, sharing) ...@...:~ $ javac --version javac 15.0.2
Version Openjdk
- Installez openjdk-7-jre,icedtea-7-plugin
...@...:~$ sudo apt install {openjdk-7-jre,icedtea-7-plugin}
Sous Windows
Le plus simple est d'utiliser l'installation en ligne.
Il est recommandé de désactiver votre pare-feu Internet avant de continuer l'installation en ligne.
Si le pare-feu n'est pas configuré correctement, il peut parfois bloquer l'opération de téléchargement/installation de Java.
Consultez le manuel de votre pare-feu Internet pour obtenir des instructions sur la désactivation de votre pare-feu Internet.
- Accédez à la page de téléchargement manuel.
- Cliquez sur Windows En ligne.
- La boîte de dialogue Téléchargement de fichier apparaît et vous invite à exécuter ou enregistrer le fichier de téléchargement.
- Pour exécuter le programme d'installation, cliquez sur Exécuter.
- Pour enregistrer le fichier en vue d'une installation ultérieure, cliquez sur Enregistrer. Choisissez l'emplacement du dossier et enregistrez le fichier sur votre système local, dans un emplacement connu de votre ordinateur, par exemple, sur le Bureau.
- Cliquez deux fois sur le fichier enregistré pour démarrer le processus d'installation.
- Le processus d'installation commence. Cliquez sur le bouton Installer pour accepter les termes de la licence et poursuivre l'installation.
Le programme d'installation vous proposera peut-être d'installer des programmes. Décochez-les tous avent de cliquer sur le bouton Suivant
- Quand l'installation est terminée, cliquez sur Fermer
- Acceptez de désinstaller les anciennes versions obsolètes.
Autre procédure
- Sur la page https://java.com/fr/, cliquez sur le bouton Téléchargement gratuit de Java :
Oracle a des partenaires dont il essaie de vous faire installer les logiciels.
Évitez de les installer, vous risqueriez de le regretter.
Terminez le reste de l'installation comme d'habitude.
Configuration
Redémarrez votre navigateur internet (fermez-le et rouvrez-le).
Test
Pour tester, allez sur : http://www.java.com/fr/download/testjava.jsp
Si un message de mise à jour s'affiche, cocher pour ne plus revoir ce message et cliquez sur Later. Fermez le message.
Le test se lance et affiche une page pour considérer oracle comme une source fiable. Cliquez sur la case pour ne plus voir ce message.
Utilisation
Pour lancer le panneau de contrôle, lancer dans un terminal :
ControlPanel
Désinstallation
...@...:~$ sudo apt remove oracle-java17-installer ... Les paquets suivants seront ENLEVÉS : oracle-java17-installer oracle-java17-set-default ...