Looking for Computer Science & Information Technology online
courses ?
Check my new web site: https://www.yesik.it !
Le JDK (Java Development Kit) est un ensemble d'outils nécessaires pour développer une application Java. Il existe plusieurs versions du JDK. Cet article porte sur l'installation du JDK de Sun Microsystems sur un système Unix/Linux.
Sommaire
Avec le gestionnaire de paquets
Le moyen le plus simple d'installer le JDK, c'est avec le gestionnaire de paquets de votre distribution. Sous Debian le paquet correspondant est sun-java6-jdk (pour Java 6) ou sun-java5-jdk. Si l'une de ces deux versions vous convient, l'installation est triviale avec apt(8):
sh$ apt-get install sun-java6-jdk
Manuellement
Maintenant, pour ceux qui ne veulent pas – ou ne peuvent pas – utiliser apt pour installer le JDK, ou encore qui désirent une version non disponibles dans les dépôts, voici comment procéder manuellement pour installer le JDK à partir d'une archive téléchargée sur le site http://java.sun.com.
Pré-requis
- Connaissances élémentaires en GNU/Linux (shell)
Moyens
Tout d'abord, il vous faut une machine Linux (convenablement installée). Puisque nous allons installer le JDK dans des répertoires système, il vous faudra également disposer d'un accès root à votre machine.

Remarque:
Si vous ne disposez pas d'un accès root (ou si vous ne voulez pas installer le JDK dans les répertoires système), vous pouvez également l'installer dans votre répertoire utilisateur. La contrepartie étant que seul l'utilisateur dans le répertoire duquel le JDK sera installé pourra s'en servir.
Il va de soi qu'il vous faudra modifier les noms de répertoire en conséquence dans les explications ci-dessous...
Il vous faut ensuite télécharger le JDK chez Sun. Sur le site de Sun dédié au développement Sun Developper Network, suivez le lien Technologie: Java SE, puis cliquez dans l'onglet Download. Cela devrait vous mener sur la page de téléchargement http://java.sun.com/javase/downloads.
Il y a plusieurs téléchargements proposés sur la page: avec ou sans Netbeans, avec ou sans le SDK, on peut également télécharger les sources ou la documentation, etc. Choisissez le téléchargement qui propose le JDK seul (c'est en général le premier de la liste). Quand j'ai rédigé cet article, c'était le JDK 6 Update 3.
Acceptez la licence d'utilisation, puis choisissez la version qui correspond à votre machine. Pour ce tutoriel, j'ai choisi la version non-RPM "Linux self-extracting file" (jdk-6u3-linux-i586.bin).
Installation
Extraire l'archive
Nous allons installer le JDK dans le répertoire /usr/java. Il faut donc créer ce répertoire, puis extraire l'archive téléchargée. Dans un shell, tapez:
sh$ su root password: sh# mkdir /usr/local/java sh# cd /usr/local/java sh# chmod +x /path/to/jdk-6u3-linux-i586.bin sh# /path/to/jdk-6u3-linux-i586.bin
L'auto-extracteur vous présente le contrat de licence (qu'il faut accepter), puis extrait l'ensemble des fichiers dans un dossier jdk<version> (où <version> est la version du JDK que vous installez).
sh# pwd /usr/local/java sh# ls jdk1.6.0_03/
Vous n'avez maintenant plus besoin de l'archive et si vous voulez vous pouvez la supprimer:
sh# rm -f /path/to/jdk-6u3-linux-i586.bin
Supporter les versions multiples
Normalement l'extraction de l'archive suffit pour pouvoir se servir du JDK. Néanmoins, pour faciliter l'utilisation des outils et les mises à jour, nous allons créer quelques liens symboliques.
sh# cd /usr/local/java sh# ln -s /usr/local/java/jdk1.6.0_03 latest sh# ln -s /usr/local/java/jdk1.6.0_03 default
Ici, nous imitons "manuellement" ce que font les scripts d'installation de la version RPM du JDK. Le lien latest est le lien vers la plus récente version installée. Le lien default vers la version à utiliser par défaut. Comme nous n'avons qu'une seule version du JDK tous deux pointent sur le répertoire /usr/local/java/jdk1.6.0_03. Par contre si l'on décide un jour d'installer une nouvelle version pour évaluation, il faudra laisser default pointer sur /usr/local/java/jdk1.6.0_03, mais par contre modifier latest pour pointer sur la nouvelle version.
Si après évaluation la nouvelle version se révèle fiable, il suffira de modifier le lien default pour pointer sur cette nouvelle version afin que tous les utilisateurs puissent en profiter sans autre modification.
Liens vers les exécutables
Tous les programmes exécutables du JDK (javac, java, ...) ont été extraits dans le répertoire jdk<version>/bin. Si vous avez créé le lien defaut de l'étape précédente, vous pouvez y accéder par l'intermédiaire de ce lien:
sh$ /usr/local/java/default/bin/javac # invoque le compilateur sh$ /usr/local/java/default/bin/java # invoque la machine virtuelle ...
Pour éviter de taper à chaque fois le chemin complet, il existe deux possibilités:
- Modifier le $PATH
- Créer des liens vers les binaires dans un répertoire déjà présent dans le $PATH.
Nous allons mettre en œuvre la seconde option. Cela nous évitera d'avoir à prendre en compte les spécificités liées aux différents shells qui peuvent être disponibles sur votre machine (sh, bash, tcsh, ksh, etc.). Nous n'allons également mettre que des liens vers les programmes les plus courants. Libre à vous de rajouter les autres si cela vous semble nécessaire.
sh# cd /usr/local/bin sh# sh -c 'for i in jar java javac javadoc javaws jcontrol > do > ln -s /usr/local/java/default/bin/$i $i > done'

Remarque:
Si vous n'êtes pas à l'aise avec les scripts shells, vous pouvez toujours faire les liens un par un à la main:
sh# ln -s /usr/local/java/default/bin/jar jar sh# ln -s /usr/local/java/default/bin/java java sh# ln -s /usr/local/java/default/bin/javac javac ...
Tester
Nous en avons maintenant fini avec l'installation. Pour tester, il suffit d'abandonner l'identité root pour reprendre celle d'un utilisateur normal, puis de vérifier qu'il est possible de lancer les outils du JDK que nous venons d'installer.
sh# exit sh$ java -version java version "1.6.0_03" Java(TM) SE Runtime Environment (build 1.6.0_03-b05) Java HotSpot(TM) Client VM (build 1.6.0_03-b5, mixed mode, sharing) sh$ javac -version javac 1.6.0_03
Voilà! Tout est en place, vous n'avez plus qu'à développer...