ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[java]]

Piste: » java


Java

Afin de vous fournir un support plus efficace et de vous permettre d'accéder rapidement à l'information que vous cherchez, cette page a été totalement réécrite à l'occasion de la sortie d'Ubuntu 8.10 (Intrepid Ibex). L'ancienne page a été conservée et renommée en java_old.

Logo Java

Présentation

Java désigne plusieurs choses :

  • un langage de programmation ;
  • la plate-forme d'exécution des programmes écrits dans ce langage (la Machine Virtuelle Java) ;
  • la plate-forme de développement ;
  • 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, il suffit de savoir les éléments dont vous avez besoin.

Si vous savez que vous avez besoin de Java, mais que vous ne savez pas quoi installer, la section choix du paquet à installer vous aidera.

Versions

Java évolue au fil des années. La version actuelle est Java SE 6.

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

Différence d'exécution entre Windows et Ubuntu

Pour résoudre ce problème il suffit de suivre les étapes suivantes : 1) sudo aptitude install sun-java6-jdk sun-java6-jre

2) sudo update-alternatives –config java choisir la version : "/usr/lib/jvm/java-6-sun/jre/bin/java"

3) relancer Eclipse

4) 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

Implémentations

Il existe "plusieurs" implémentations de Java, parmi lesquelles :

  • Java Sun : l'implémentation fournie par Sun (95% libre), l'entreprise à l'origine du langage ;
  • gcj : une première implémentation libre, mais non complète ;
  • OpenJDK : une implémentation complète, validée, 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.

Installation

Il est possible d'avoir plusieurs versions installées simultanément sur votre système. Dans ce cas, on peut choisir celle à utiliser : choisir la plate forme d'exécution par défaut.

Par les dépôts (recommandé)

Si vous ne savez pas quoi installer, consultez la section choix du paquet à installer.

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
Pour installer sun-java6-doc, voir ce lien : Lien externe

Manuelle

Malgré la compatibilité ascendante de Java, certains préfèrent, en entreprise notamment, utiliser une ancienne version pour développer, car c'est sur cette version que le programme est destiné à être exécuté.

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.

Choix du paquet à installer

Voici quelques exemples de cas d'utilisation de Java, avec le lien vers le 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).

Lors du premier chargement d'une applet, il vous est demandé de choisir un répertoire temporaire. Laissez le choix par défaut (/tmp) et cliquez sur OK.
Si vous avez installé la version 64 bits d'Ubuntu et que

  • soit aucune installation de paquet ne vous est proposée1),
  • soit vous rencontrez des problèmes avec le plugin installé2),

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.

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, tapez :

java -version

Pour connaître la version du compilateur (si vous avez installé un JDK) :

javac -version

Changer la version de Java utilisée par défaut

De manière interactive

Exécutez :

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.

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

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.

Les fichiers .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).

Pour les exécuter, utilisez la commande :

java -jar fichier.jar

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

1) c'est le cas pour Intrepid x64
2) telle que la page de paiement des impôts en ligne, ou les sites commerciaux d'impression de photos

java.txt · Dernière modification: 2009/05/27 13:54 par 213.95.41.13
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL