Intéressé par des cours d'informatique en ligne ?
Visitez mon nouveau site https://www.yesik.it !

Cet article est une reprise de l'article Installer le JDK que j'avais précédemment publié sur http://wiki.esicom-st-malo.fr

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.

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

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:

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...