Ceci est une ancienne révision du document !
Java
Présentation
Java est une technologie, qui intègre une bibliothèque complète pour exécuter ou développer une multitude d'application. La particularité principale de Java est que les logiciels écrits dans ce langage sont très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications. C’est la plate-forme qui garantit la portabilité des applications développées en Java. Défini à l'origine comme un langage, « Java » a évolué au cours du temps pour devenir un ensemble cohérent d'éléments techniques et non techniques.
Ainsi, la technologie Java regroupe aujourd'hui :
- la plate-forme d'exécution des programmes écrits dans ce langage ( Machine Virtuelle Java ).
- la plate-forme de développement (Kit de développement Java ).
- le plug-in permettant d'exécuter des programmes spéciaux (applets) écrits dans ce langage dans un navigateur internet.
Le tout forme un ensemble cohérent quoique modulaire, et selon vos besoins, vous installerez certains composants et pas d'autres : il « suffit » de connaître les éléments dont vous avez besoin. Dans la pratique, si vous savez que vous avez besoin de Java, mais que vous ne savez pas quoi installer par rapport à ce qui est décrit dans cette liste, alors la section choix du paquet à installer devrait vous aider à faire le bon choix.
Versions
Java évolue au fil des années. La version actuelle est Java SE 7.
En plus de faire évoluer les numéros de versions, le nom complet de chaque version a parfois été changé, ce qui rend la compréhension un peu compliquée.
Historique
Voici les différentes versions ainsi que leur date de sortie :
- JDK 1.0 (23 janvier 1996)
- JDK 1.1 (19 janvier 1997)
- J2SE 1.2 (9 décembre 1998)
- J2SE 1.3 (8 mai 2000)
- J2SE 1.4 (6 février 2002)
- J2SE 5.0 (30 septembre 2004)
- Java SE 6 (11 décembre 2006)
- Java SE 7 (28 juillet 2011)
- Java SE 8 (en développement)
En outre, Java 2 désigne les versions de J2SE 1.2 à J2SE 1.4 (il y a vraiment de quoi se perdre).
Compatibilité
Java assure une compatibilité binaire ascendante (les programmes compilés avec une ancienne version peuvent s'exécuter avec une plate-forme plus récente).
Mise à part l'introduction de nouveaux mots-clés (assert
dans 1.4 et enum
dans 5.0), la compatibilité binaire ascendante est presque respectée (les sources d'un programme écrit pour être compilées avec une ancienne version peuvent être compilées avec une nouvelle version du compilateur).
Implémentations
Il existe "plusieurs" implémentations de Java, parmi lesquelles :
- Implémentation libre (mais "non certifiée" car non testé volontairement pour ne pas être validé par oracle – Article : Oracle et Apple ensemble sur OpenJDK : tout s'explique) :
- Harmony (site) Implémentation mature et libre par la fondation apache (En Novembre 2011, Apache Harmony a été retiré. :( )
- gcj : une première implémentation libre, mais non complète ;
- Contrôlé par Oracle (Article : Oracle et Apple ensemble sur OpenJDK : tout s'explique) :
- Java Sun : l'implémentation fournie par Sun Microsystems (95% libre), l'entreprise à l'origine du langage ;
- OpenJDK : une implémentation complète, validée (Une nouvelle certification pour Ubuntu 9.04)), entièrement libre (basée sur Java Sun, en remplaçant les parties non libres).
Les deux versions susceptibles d'être utilisées aujourd'hui sont Java Sun et OpenJDK.
À part pour d'anciennes versions ou des problèmes de compatibilité spécifiques, il est maintenant vivement recommandé d'utiliser OpenJDK, totalement libre, et offrant de meilleures performances que Java Sun. A noter cependant, certains bugs demeurent dans OpenJDK
Installation
Version officielle sous Ubuntu 12.04 Precise Pangolin
En premier lieu, désinstaller toutes les versions de Java, OpenJDK et icedtea ;
- installer les paquets hors dépôt en même temps avec dpkg de Debian Squeeze :
- Autre solution via PPA ( pour Ubuntu 13.04, 12.10, 12.04, 11.10)
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
source : http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
Recharger ensuite les paquets par
sudo apt-get update
Installation Java JRE et plugin Java Plugin sous Ubuntu 10.10 Maverick Meerkat
(Pour supprimer Sun Java6 ouvrez Système > Administration > Gestion des paquets Synaptic et supprimez les paquets sun-java6-jre , sun-java6-bin ainsi que sun-java6-plugin puis rechargez les paquets !)
1. Ouvrir un terminal et saisir:
gksu /usr/bin/software-properties-gtk
2. Relancer la même commande:
gksu /usr/bin/software-properties-gtk
Sélectionner l'onglet autres et le premier lien de sources de paquets qui s'affiche est:
http://archive.canonical.com/ubuntu maverick partner
Activer toutes les lignes de cette source de paquets. Cliquer sur fermer et sur recharger.
3. Saisir la commande:
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
Et c'est tout! Surtout ne pas installer IcedTea plugin ou OpenJDK Java 6 Runtime ou OpenJDK Java 6 Webstart, cela ne fonctionnera pas.
Un peu de patience il faut que l'applet se télécharge (une fois fait, elle est stockée dans le cache de Java).
[pour information, karmic - 9.10 -, met à jour java, la version 'obsolète' n'est donc pas gelé]
Utilisation de sun-java sans désinstaller openjdk.
1. Ouvrir un terminal et taper :
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
2 ensuite tapez la ligne suivante pour utilser la version de sun:
sudo update-java-alternatives -s java-6-sun
Jusqu'a Ubuntu 11.10
OpenJDK 6 | Java 6 Sun | Java 5 Sun | Description |
---|---|---|---|
openjdk-6-jre | sun-java6-jre | sun-java5-jre | plate-forme d'exécution (pour exécuter des applications Java) |
icedtea6-plugin | sun-java6-plugin | sun-java5-plugin | plug-in pour exécuter des applets Java dans le navigateur internet |
openjdk-6-jdk | sun-java6-jdk | sun-java5-jdk | plate-forme de développement (pour compiler des applications Java, réservée aux développeurs) |
openjdk-6-doc | sun-java6-doc | sun-java5-doc | javadoc (documentation Java), indispensable aux développeurs, installée dans /usr/share/doc/… |
openjdk-6-source | sun-java6-source | sun-java5-source | sources des bibliothèques Java SE |
openjdk-6-demo | sun-java6-demo | sun-java5-demo | quelques exemples et démonstrations |
sun-java6-fonts | sun-java5-fonts | polices de caractères non libres | |
sun-java6-javadb | javadb | ||
openjdk-6-jre-headless | JRE allégé (voir ici) | ||
openjdk-6-dbg | debugging symbols |
A partir d'Ubuntu 12.04
Manière simple, entièrement libre : environnement d'exécution + plugin firefox
Installation des paquets : openjdk-7-jre et icedtea-7-plugin. Redémarrez firefox et voilà, ça marche.
Vérification sur : http://www.java.com/fr/download/testjava.jsp
via la version de sun
À partir d'Ubuntu 12.04 le Java de Sun n'est plus disponible dans les dépôts officiels, même partenaire. Il est toutefois possible d'installer Sun Java 6 et 7 via des dépôts ppa, pour ce faire suivez la procédure suivante (il va de soit que vous ne devez installer qu'une seule de ces deux versions) :
Sun Java 6
sudo apt-add-repository ppa:flexiondotorg/java sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2EA8F35793D8809A sudo apt-get update sudo apt-get install sun-java6-jre sun-java6-plugin
Il a mis en place une autre méthode, voir : https://github.com/flexiondotorg/oab-java6
Sun java 7 (fonctionne en 64 bits)
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
Après avoir installé la version 7 d'Oracle, il faut créer un lien symbolique pour assurer la compatibilité avec certains logiciels
cd /usr/lib/jvm sudo ln -s java-7-oracle default-java cd
Manuelle (du JRE et du plugin de Sun)
- On télécharge le dernier Java Sun 1.6 [c'est la version "Linux (fichier auto-extractible)" qui se trouve ici - actuellement, la version 1.6.0_37] :
wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=69505 -O jre-6u37-linux-i586.bin
- On place le fichier là où on veut l'installer :
sudo mv ./jre-6u37-linux-i586.bin /opt/
- On se positionne dans le répertoire /opt/ :
cd /opt/
- On rend le fichier exécutable :
sudo chmod +x jre-6u37-linux-i586.bin
- On exécute le fichier d'installation :
sudo ./jre-6u37-linux-i586.bin
- On crée un lien symbolique pour que Firefox prenne en compte le plugin Java Sun :
sudo ln -fs /opt/jre1.6.0_37/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so
- On crée un lien symbolique pour que Chromium prenne en compte le plugin Java Sun :
sudo ln -fs /opt/jre1.6.0_37/lib/i386/libnpjp2.so /usr/lib/chromium-browser/plugins/libnpjp2.so
- On crée le dossier des plugins puis un lien symbolique pour que Google-Chrome prenne en compte le plugin Java Sun :
sudo mkdir -p /opt/google/chrome/plugins && sudo ln -fs /opt/jre1.6.0_37/lib/i386/libnpjp2.so /opt/google/chrome/plugins/libnpjp2.so
- On propose à Ubuntu d'utiliser Java Sun 1.6.0_37 :
sudo update-alternatives --install /usr/bin/java java /opt/jre1.6.0_37/bin/java 1 sudo update-alternatives --config java
- On supprime le fichier d'installation :
sudo rm -fr jre-6u37-linux-i586.bin
sudo ln -s /opt/jre1.6.0_37/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/ sudo mkdir -p /opt/google/chrome/plugins && sudo ln -fs /opt/jre1.6.0_37/lib/amd64/libnpjp2.so /opt/google/chrome/plugins/libnpjp2.so
- Soit, un jour, il faudra effacer ce Java et remettre celui des dépôts :
sudo rm -fr /opt/jre1.6.0_37 sudo rm -fr /usr/lib/mozilla/plugins/libjavaplugin_oji.so sudo apt-get install sun-java6-fonts sun-java6-bin sun-java6-jre sun-java6-plugin sudo update-java-alternatives -s java-6-sun
- Soit, il faudra effacer ce Java, télécharger le nouveau et refaire la même procédure citée plus haut (en changeant le numéro de version - d'autres choses peuvent changer, comme le lien de téléchargement ; il faudra donc adapter les commandes) :
sudo rm -fr /opt/jre1.6.0_37
+ les commandes citées plus haut
Pour cela, il est possible de télécharger les anciennes versions de Java.
Il est bien sûr possible de faire de même avec les versions actuelles, même si dans ce cas, l'utilisation des dépôts est préférable.
Voici un script PHP php5-cli (nécessite la librairie php5-curl et parfois de g++-multilib ("./install.sfx.6388: No such file or directory") ) qui fait exactement la même chose que les commandes ci dessus. Le script télécharge automatiquement la dernière version ( 32Bit only ) de Java Sun puis l'installe. ( Installation des plugins pour Firefox et Chromium inclus ! ) Copier et coller le code suivant dans un fichier vous appellerez java_update.sh.
- java_update.sh
#!/usr/bin/php <?php /******************************************************************************* * Script By Immortal-PC : immortal-pc.info * Create: 2012/01/22 * Update: 2012/03/27 Firefox bug correction */ // Permet de connaitre l'état d'avancement function curl_progress_callback( $download_size, $downloaded, $upload_size, $uploaded ) { static $last = -1; if( $download_size !== 0 && round(($downloaded*100)/$download_size, 1) !== $last ){ $last = round(($downloaded*100)/$download_size, 1); echo $last,"%\r\n"; } } // Reprise d'une ancienne installation ? $retry = false; if( is_file('/usr/lib/jvm/java.bin') ){ echo 'Reprendre l\'installation ? (O|N)',"\r\n:\\> "; $retry = trim(fgets(STDIN), "\r\n "); // lit une ligne depuis STDIN $retry = $retry === 'y' || $retry === 'Y' || $retry === 'o' || $retry === 'O'; } $dir = null; if( !$retry ){ /*************************************************************************** * Recherche d'une nouvelle version */ echo 'Search new Version',"\r\n"; $ch = curl_init('http://java.com/fr/download/manual.jsp'); curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookie.txt')); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $ret = curl_exec($ch); if( $ret === false ) exit(curl_error()); curl_close($ch); $match = null; // Détection de la version preg_match_all('`<strong>Recommandé ([^<]+)</strong>`i', $ret, $match); if( is_array($match) ) echo $match[1][0],"\r\n"; unset($match); // Récupération du lien preg_match_all('`href="([^"]+)"[^:]*\:setCookie\(\'jreDcookie\', \'([^\']+)[^>]*>[\n \r \r\n \t]*Linux \(fichier auto-extractible\)`i', $ret, $match); unset($ret); if( !is_array($match) ) exit('Impossible de match les données !'); /******************************************************************************* * Téléchargement */ echo 'Download: ',$match[1][0],"\r\n"; $ch = curl_init($match[1][0]); curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookie.txt')); curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('cookie.txt')); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_COOKIE, 'jreDcookie='.$match[2][0]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt($ch, CURLOPT_NOPROGRESS, false); curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'curl_progress_callback'); $ret = curl_exec($ch); if( $ret === false ) exit(curl_error()); curl_close($ch); /******************************************************************************* * Enregistrement */ if( !is_dir('/usr/lib/jvm/') && !mkdir('/usr/lib/jvm/') ) exit('Erreur lors de la création du dossier /usr/lib/jvm/'."\r\n"); $fp = fopen('/usr/lib/jvm/java.bin', 'wb+'); fputs($fp, $ret); fclose($fp); unset($match); // Récupération du nom du dossier de destination preg_match_all('`javahome=(.+)`i', $ret, $match); $dir = $match[1][0]; unset($ret, $match); // Attante de 2 secs sleep(2); // chmod if( !chmod('/usr/lib/jvm/java.bin', 0777) ) exit('Fichier introuvable !'."\r\n"); }else{ /*************************************************************************** * Reprise de l'installation */ if( !chmod('/usr/lib/jvm/java.bin', 0777) ) exit('Impossible d\'attribuer un chmod 777 à java.bin !'); $fp = fopen('/usr/lib/jvm/java.bin', 'r'); $match = null; while( !feof($fp) ) if( preg_match_all('`javahome=(.+)[\r\n]?`i', fgets($fp), $match) ){ $dir = $match[1][0]; break; } fclose($fp); unset($fp, $match); } if( !$dir ) exit('Dossier temporaire introuvable'); echo 'Dossier temporaire: ',$dir,"\r\n"; /******************************************************************************* * Installation */ // On change de dossier chdir('/usr/lib/jvm/'); // Supression des vieux dossiers temporaires echo 'Suppression des vieux dossiers temporaires',"\r\n"; shell_exec('rm -rf /usr/lib/jvm/'.$dir); // Lancement de l'installation echo '',"\r\n"; echo shell_exec('./java.bin'); // On set les permissions du dossier shell_exec('chmod 755 '.$dir.'/ '.$dir.'/*'); // Fin d'installation echo 'Installation sans problème ? ( o|n )',"\r\n",':\\> '; $isOk = trim(fgets(STDIN), "\r\n "); // lit une ligne depuis STDIN if( $isOk === 'y' || $isOk === 'Y' || $isOk === 'o' || $isOk === 'O' ){ // TOUT EST OK shell_exec('rm -rf java-6-sun/ java.bin'); shell_exec('mv '.$dir.' java-6-sun'); }else{ echo 'Abandon !',"\r\n"; shell_exec('rm -rf '.$dir.'/ java.bin'); exit(); } echo 'Création des liens',"\r\n"; echo shell_exec('ln -fs /usr/lib/jvm/java-6-sun/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so'); echo shell_exec('ln -fs /usr/lib/jvm/java-6-sun/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so'); if( is_dir('/usr/lib/chromium-browser/') ) echo shell_exec('ln -fs /usr/lib/jvm/java-6-sun/lib/i386/libnpjp2.so /usr/lib/chromium-browser/plugins/libnpjp2.so'); echo 'Installation dans le système',"\r\n"; echo shell_exec('update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun/bin/java 1'); echo 'Utilisation dans le système',"\r\n"; /******************************************************************************* * Installation dans le système */ $descriptorspec = array( 0 => array('pipe', 'r'),// stdin est un pipe où le processus va lire 1 => array('pipe', 'w'),// stdout est un pipe où le processus va écrire 2 => array('pipe', 'r')// stderr est un fichier ); $cwd = '/usr/bin/'; $env = array(); $process = proc_open('/usr/bin/update-alternatives --config java', $descriptorspec, $pipes, $cwd, $env); if( is_resource($process) ){ // $pipes ressemble à : // 0 => fichier accessible en écriture, connecté à l'entrée standard du processus fils // 1 => fichier accessible en lecture, connecté à la sortie standard du processus fils // Toute erreur sera ajoutée au fichier /tmp/error-output.txt stream_set_blocking($pipes[1], 0); while( !feof($pipes[1]) && ($read = fread($pipes[1], 10)) !== false && !preg_match('`(\[\*\])|(\*\])|(\[\*)`i', $read) ) echo $read; fclose($pipes[1]);// Ne pas arriver en fin de stream, sinon blocage echo "\r\n:\\> "; fwrite($pipes[0], fgets(STDIN)); fclose($pipes[0]); // Il est important que vous fermiez les pipes avant d'appeler // proc_close afin d'éviter un verrouillage. $return_value = proc_close($process); if( $return_value ) echo 'Program return: ',$return_value,"\r\n"; }else{ echo 'No resource !',"\r\n"; } // Execution du panneau de control echo 'Execution du panneau de controle.',"\r\n"; shell_exec('/usr/lib/jvm/java-6-sun/bin/ControlPanel'); ?>
Pour l'exécuter:
sudo chmod +x ./java_update.sh && sudo ./java_update.sh
Durant l'exécution du script, il y a 2 étapes:
- Après l'installation de Java Sun, le script va vous demander si dans le texte affiché plus haut il y a eu une erreur ou non.
Installation sans problème ? ( o|n )
Normalement vous repondez o
- A la fin de l'installation vous aurez une boite dans ce style
Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-sun/bin/java 1 auto mode * 1 /usr/lib/jvm/java-6-sun/bin/java 1 manual mode
Selectionnez la ligne correspondant à /usr/lib/jvm/java-6-sun/bin/java
Installation manuelle de Java SE 7u4 (JDK + JRE) et du plugin
Java 1.7 est encore récente toutes les applications ne sont pas encore pleinement compatible avec elle.
Pour pouvoir développer en Java, il est indispensable d'avoir des outils supplémentaires disponibles dans le JDK (Java Developpement Kit) en plus de la machine virtuelle Java disponible dans le JRE.
Après avoir accepté la licence1), téléchargez dans votre Dossier Personnel JDK Java 7 depuis le site d'Oracle.
Selon votre architecture matérielle il s'agira au choix des archives:
- jdk-7u4-linux-i586.tar.gz
- jdk-7u4-linux-x64.tar.gz
La suite se passera ensuite dans un terminal où il faudra
- Se déplacer dans le dossier /usr/lib/jvmoù sera installé Java
- Mettre en place la machine virtuelle Java (JVM) fraichement décompressée.
- Faire de même pour le compilateur javac, Java Webstart et le plugin dédié à Firefox
- Sélectionner la JVM du système en choisissant le numéro correspondant à l'entrée /usr/lib/jvm/jdk1.7.0_04/bin/java
- Faire de même pour javac, javaws et le plugin du navigateur en choisissant selon votre architecture:
- /usr/lib/jvm/jdk1.7.0_04/jre/lib/i586/libjavaplugin_jni.so
- /usr/lib/jvm/jjdk1.7.0_04/jre/lib/amd64/libjavaplugin_jni.so
Mise en place du JDK
cd /usr/lib/jvm sudo tar xvzf ~/jre-7u4-linux-*.tar.gz sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_04/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_04/bin/javac 1 sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_04/bin/javaws 1 sudo update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/jdk1.7.0_04/jre/lib/i586/libjavaplugin_jni.so 1 sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config javaws sudo update-alternatives --config mozilla-javaplugin.so
sudo update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/jdk1.7.0_04/jre/lib/amd64/libjavaplugin_jni.so 1
Installation manuelle de Java SE 6u32 (JDK + JRE) et du plugin
La version 6 correctif 32 est sortie en mai 2012. La version se trouve à cette page: http://www.oracle.com/technetwork/java/javase/downloads/jre-6u32-downloads-1594646.html
À compléter
Police de caractère des menus trop petite (microscopique) sur grand écran
Solution testé sous Kubuntu 12.04 64 bits avec écran 42" d'une résolution de 1920x1080 utilisant « OpenJDK » (2013-07-28).
Exemple du problème avant :
Exemple du problème après l'application de la solution :
Pour corriger un problème de police de caractère trop petit dans l'écran d'accueil (écran du Login) et dans les applications écrite en langage Java, il faut modifier le fichier « /etc/X11/xorg.conf » pour qu'il reflète les mêmes valeurs que ce qui est configuré dans le panneau de configuration « Configuration → Apparence des applications → Polices → Forcer le PPP des polices : XX ».
Chez moi cela donne :
« Configuration → Apparence des applications → Polices → Forcer le PPP des polices : 96 ».
Ce "96" est à retenir pour la suite de la solution.
Donc, dans le fichier « /etc/X11/xorg.conf », dans « Section "Device" », ajouter à la fin les deux lignes suivantes en les adaptent à votre configuration :
Option "UseEdidDpi" "False" Option "DPI" "XX x XX"
Chez moi, je passe de :
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 560 Ti" EndSection
Avec mon "96", je passe à :
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 560 Ti" Option "UseEdidDpi" "False" Option "DPI" "96 x 96" EndSection
Un redémarrage de l'ordinateur et le tour est joué !
Tout le mérite de cette solution revient au bon génie Frédéric Côté, qui à laborieusement et méthodiquement suivi la piste du problème pour finalement le résoudre.
Je profite de l'occasion pour le remercier d'autant d'effort pour aider son prochain !
Choix du paquet à installer
Je souhaite exécuter un programme Java
Pour exécuter un programme Java, tels qu'azureus ou eclipse, installez le paquet openjdk-6-jre.
Je souhaite exécuter une applet Java dans un navigateur
Pour exécuter une applet Java, telle que celle utilisée pour déclarer ses impôts en ligne, ou encore de nombreux petits jeux en ligne, installez le paquet de plug-in correspondant à votre version de java (voir tableau ci-dessus).
Testez votre navigateur : https://cfspart.impots.gouv.fr/tdir-01/reco.html
Le site de banque en ligne de labanquepostale.fr ne fonctionne correctement qu'avec le sun-java6-plugin
sudo update-alternatives --config mozilla-javaplugin.so
et choisir le fichier d oracle (dans mon cas /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so)
/tmp
) et cliquez sur OK.
- soit aucune installation de paquet ne vous est proposée2),
- soit vous rencontrez des problèmes avec le plugin installé3),
alors vous pouvez suivre ce tutoriel pour installer la version béta 64 bits du plugin sun java6.
Je souhaite développer et compiler des programmes Java
Pour pouvoir compiler des fichiers .java
en .class
, il faut installer le JDK : openjdk-6-jdk.
Si vous utilisez eclipse, le JDK n'est pas indispensable, car eclipse intègre son propre compilateur. Il est cependant pratique d'installer le JDK, pour compiler en ligne de commande ou grâce à ant.
Installer la plate-forme de développeur pour JAVA 7 (méthode semi-manuelle)
Malheureusement la version n'est pas encore disponible sur les dépôts. Pour pouvoir l'essayer de suite, il existe une méthode très simple, et sécuritaire proposée par Oracle. Il suffit de télécharger un script d'installation disponible à cette adresse : java-ee-sdk-6u3-jdk-7u1. Il se chargera de toute l'installation à votre place. Il s'agit d'une version "multi-langages" pour vous simplifier la tache.
Si votre version d'Ubuntu est en 32 bits, prenez cette version :
wget http://download.oracle.com/otn-pub/java/java_ee_sdk/6u3-wjdk-7u1/java_ee_sdk-6u3-jdk7-linux-ml.sh
Si elle est en 64bits préférez celle-ci :
wget http://download.oracle.com/otn-pub/java/java_ee_sdk/6u3-wjdk-7u1/java_ee_sdk-6u3-jdk7-linux-x64-ml.sh
Une fois le fichier sur votre ordinateur, il ne vous reste plus qu'à le rendre exécutable.
chmod +x java_ee_sdk-6u3-jdk7-linux-*-ml.sh
Enfin exécutez le script, qui se chargera de toute la procédure d’installation.
./java_ee_sdk-6u3-jdk7-linux-*-ml.sh
FAQ
Connaître la version de Java utilisée par défaut
Pour connaître la version de la plate-forme d'exécution Java, saisissez dans un terminal:
java -version
Pour connaître la version du compilateur (si vous avez installé un JDK) :
javac -version
Ajouter la variable JAVA_HOME à votre système
- Si vous utilisez le jdk de SUN Saisissez dans un terminal:
sudo bash -c "echo JAVA_HOME=/usr/lib/jvm/java-6-sun/ >> /etc/environment"
- Si vous utilisez l'openjdk Saisissez dans un terminal:
32 bits :
sudo bash -c "echo JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk/ >> /etc/environment"
64 bits :
sudo bash -c "echo JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64/ >> /etc/environment"
Vérifiez qu'il n'y a pas de doublons, en éditant le fichier /etc/environment
Changer la version de Java utilisée par défaut
De manière interactive
Saisissez dans un terminal:
sudo update-alternatives --config java
Ceci va lister la liste des versions disponibles, et vous n'aurez plus qu'à choisir le numéro de celle que vous souhaitez utiliser par défaut.
sudo update-alternatives --config javaws
De manière non-interactive
Vous pouvez sélectionner la version de Java désirée (ici OpenJDK) en tapant :
sudo update-java-alternatives -s java-6-openjdk
Pour obtenir la liste des versions disponibles, tapez :
update-java-alternatives -l
Firefox ne trouve pas le plugin Java
Vous avez installé un plugin Java (par exemple sun-java6-plugin) par l'intermédiaire de Synaptic, mais Firefox ne le trouve pas : si l'on ouvre la page about:plugins, Java n'apparaît pas).
Saisissez dans un terminal:
sudo update-alternatives --config firefox-javaplugin.so sudo update-alternatives --config mozilla-javaplugin.so
Sélectionnez chaque fois le plugin désiré (s'il y en a plusieurs) puis redémarrez Firefox.
Si ces commandes renvoient une erreur, vous pouvez essayer ça dans le terminal:
sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so 1
en remplaçant "java-6-sun" par votre java installé et en remplaçant "i386" par "amd64" si vous utilisez un système 64 bits
Exécuter un fichier JAR
Certains logiciels Java sont distribués sous forme de .jar
exécutable.
Un .jar
n'est rien d'autre qu'une archive (comme un .zip
) contenant l'ensemble des fichiers nécessaires à l'exécution du programme.
Pour les exécuter, utilisez la commande :
java -jar fichier.jar
.jar
ne sont pas tous exécutables. Ils le sont si et seulement si dans le fichier META-INF/MANIFEST.MF
une ligne contient :Main-Class: lenomdupackage.LeNomDeLaClassePrincipale
(en adaptant le nom de la classe principale).
Permettre l'exécution d'un fichier JAR par un double-clic
Il suffit d'associer les fichiers .jar
à la Machine Virtuelle Java. Pour cela, faites un clic droit sur un fichier .jar
, choisissez Propriétés et allez dans l'onglet Ouvrir avec. Il ne reste plus qu'à sélectionner la plate-forme d'exécution Java :
Si une telle option n'est pas disponible, cliquez sur le bouton Ajouter, dépliez dans le bas de la fenêtre la section Utiliser une commande personnalisée, et entrez le code :
java -jar
puis validez. Ensuite, sélectionnez Java dans la liste des applications.
Configurer le fuseau horaire pour Java
Sur d'anciennes versions d'Ubuntu, il est possible que les programmes Java n'indiquent pas la bonne date (quelques heures de décalage). Pour éviter cela, il faut aider la Machine Virtuelle Java à utiliser le bon fuseau horaire.
Cela se configure par la variable d'environnement TZ
, qu'il est possible d'initialiser à Europe/Paris
par exemple (consultez le fichier /etc/timezone
pour obtenir la valeur par défaut de votre environnement).
Pour l'initialiser provisoirement (pour tester) :
export TZ='Europe/Paris'
Pour la configurer définitivement, éditez le fichier /etc/environment
, qui contient les variables d'environnement chargées par défaut, et rajoutez :
TZ="Europe/Paris"
Ceci sera pris en compte au redémarrage du Shell d'exécution du programme Java.
Problème d'exécution d'Eclipse
Java-gcj (par défaut sous Eclipse) ne compile pas parfaitement toutes les applications. La manœuvre suivante permettra d'utiliser Java 6 en tant que JRE plutôt que GCJ.
Pour résoudre ce problème, il suffit de suivre les étapes suivantes :
sudo update-alternatives --config java
⇒ Choisir la version « /usr/lib/jvm/java-6-sun/jre/bin/java »- Relancer Eclipse.
- Menu Window → Preferences.
- Puis Java - Installed JREs.
- Cliquer sur le bouton « Search ».
- Dans "emplacement", écrire « /usr/lib/jvm/java-6-sun/ ».
- Cliquer sur « Valider ».
- Sélectionner « jre » et valider.
Voir aussi
—-
Contributeurs :