Il y a seulement une version de Java6 installé sous Mac OS X 10.6 par défaut. Néanmoins, nombreux sont les outils ne supportant pas correctement Java6 et requière Java5. Disposer d'une version de JDK5 est également indispensable dans le cas de développement d'outils d'intégration devant fonctionner aussi bien sous Java5 et Java6. L'installation d'une nouvelle version de Java sous Mac n'est pas aussi simple que attendu. A partir des documentations suivantes (lien1 et lien2), cet article vous présente comment installer une version de Java 5 sous Mac OS X 10.6.x.
Installation
Vous devez suivre les étapes suivantes:
- Récupérer une version de Java incluse sous Mac OS X 10.5 et l'extraire dans un répertoire temporaire
cd /tmp/ curl -o java.1.5.0-leopard.tar.gz http://www.cs.washington.edu/homes/isdal/snow_leopard_workaround/java.1.5.0-leopard.tar.gz tar -xvzf java.1.5.0-leopard.tar.gz
- Supprimer les anciens liens symboliques de Java 5
cd /System/Library/Frameworks/JavaVM.framework/Versions/ sudo rm 1.5.0 1.5
Note: Votre mot de passe root vous sera demandé.
- Déplacer le répertoire d'installation de Java 5 téléchargé et le mettre dans le répertoire des librairies Java
sudo mv 1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0
Note: Le répertoire 1.5.0 est crée dans /System/Library/Frameworks/JavaVM.framework/Versions/
- Création du lien symbolique pour Java 5
sudo ln -s 1.5.0 1.5
- Changement de la propriété CurrentJDK vers Java 5
sudo ln -fhsv 1.5 CurrentJDK
- Changement des préférences au niveau runtime
open "/Applications/Utilities/Java Preferences.app"
Modifier les propriétés afin d'utiliser Java 5 32-bit par défaut.
Script de changement de versions
Il est souvent très pratique de pouvoir changer de version entre 1.5 et 1.6. Voici donc l'exemple de la création d'un script pour ce besoin:
mkdir /integ/scripts cd /integ/scripts vi cjava
#!/bin/sh cd /System/Library/Frameworks/JavaVM.framework/Versions CURJDK="`readlink CurrentJDK`" echo Current JDK version: $CURJDK if [ "$1" == "" ]; then echo Installed versions: ls exit fi VERFOUND=`ls | grep $1 | head -n 1` if [ "$VERFOUND" != "$1" ]; then BASE="`basename $0`" echo Error: Could not change JDK-- version $1 not installed! echo Run $BASE without arguments to see a list of installed versions. exit 127 fi echo You must now enter your Mac OS X password to change the JDK. sudo ln -fhsv $1 CurrentJDK
chmod a+x cjava cd ~ vi .profile
export SCRIPTS_HOME=/integ/scripts export PATH=$SCRIPTS_HOME:$PATH

