Java
Défini à l'origine comme un langage, Java a évolué au cours du temps pour devenir une technologie, qui intègre une bibliothèque complète pour exécuter ou développer une multitude d'applications. La particularité principale de Java est que les applications écrites 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.
La technologie Java regroupe aujourd'hui :
- La plate-forme d'exécution JRE (Java Runtime Environnement) des programmes écrits dans ce langage Environnement d'exécution Java.
- la plate-forme de développement JDK (Java Development Kit) (Kit de développement Java).
- le greffon permettant d'exécuter des programmes spéciaux écrits dans ce langage pour les navigateurs internet.
Le tout forme un ensemble cohérent quoique modulaire, et selon vos besoins, vous installerez certains composants et pas d'autres. Dans la plupart des cas et si vous ne souhaitez pas développer en Java, l'installation de la plate-forme d'exécution des programmes JRE et le greffon pour les navigateurs internet suffisent.
Installation
Java ne pouvait pas être considéré comme un logiciel libre selon les critères de la Fondation du logiciel libre car les bibliothèques de base de Java ainsi que son compilateur étaient non-libres. OpenJDK est l'implémentation libre sous Licence Publique Générale du standard Java de la société Oracle®. Son utilisation est donc à recommander pour respecter la philosophie du logiciel libre ainsi que pour son installation simplifiée puisque disponible depuis La Logithèque en différentes versions pour toutes versions d'Ubuntu activement soutenues.
Implémentation libre OpenJDK | Version propriétaire Java Oracle |
---|---|
Pour l'installation et les particularités de Java OpenJDK implémentation libre, voir cette page. (Disponibles en versions 6, 7 et 8 pour toutes les versions d'Ubuntu activement soutenues) | Pour l'installation et les particularités de la version propriétaire Java Oracle®, voir cette page. (Toutes versions stables ou en développement disponibles depuis le site officiel) |
Utilisation
Pour une utilisation basique, il n'y a pas de manipulation particulière à faire. Une fois installée, la plate-forme d’exécution Java est lancée au démarrage d'Ubuntu. Le Greffon est automatiquement exécuté lors du lancement du navigateur internet.
Certains navigateurs internet désactivent le greffon Java par défaut (Firefox par exemple). En cas de problèmes rencontrés, vérifiez son activation.
Exécuter un fichier JAR
Certaines applications Java sont distribuées sous forme de <NomDuFichier>.jar
exécutable. Un fichier .jar
n'est rien d'autre qu'une archive (comme un .zip
) contenant l'ensemble des fichiers nécessaires à l'exécution du programme.
META-INF/MANIFEST.MF
contenu dans le .jar (les fichiers .jar peuvent être extraits comme un fichier .zip) contient une ligne ayant pour forme :
Main-Class: <lenomdupackage>.<LeNomDeLaClassePrincipale>
(en adaptant le nom de la classe principale).
En ligne de commande
Par un double-clic
Il suffit d'associer les fichiers .jar
à la plate-forme d'exécution Java. Pour cela, faire un clic droit sur un fichier .jar
et choisir dans le menu déroulant "ouvrir avec" → "autre application…". Il ne reste plus qu'à sélectionner la plate-forme d'exécution Java :
Décompiler un fichier JAR
Anciennes versions
Malgré la compatibilité ascendante de Java, certaines applications écrites en java le sont sous une ancienne version et peuvent ne plus fonctionner avec une version supérieure ou bien en entreprise notamment, certains préfèrent utiliser une ancienne version pour développer car c'est sur cette version que le programme est destiné à être exécuté. Pour ces raisons, les anciennes versions, 6 d'OpenJDK et Java Oracle restent donc disponibles.
La cohabitation des versions ne pose pas de problèmes particuliers.
Connaître la version de Java utilisée par défaut
- Pour la plate-forme d'exécution JRE
java -version
- Pour la plate-forme de développement JDK
javac -version
Changer la version de Java utilisée par défaut
De manière interactive
- pour la plate-forme JRE:
sudo update-alternatives --config java
- pour la plate-forme JDK :
sudo update-alternatives --config javac
- pour Java Web Start:
sudo update-alternatives --config javaws
De manière non interactive
Problèmes connus
Police de caractères 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 » (28-07-2013).
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 a 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 !
Copier/Coller impossible de/vers un applet java (Firefox ) à partir de la version 1.7.45 du JRE Oracle (jre-7u45)
Symptôme : Il est impossible de faire un copier/coller de ou vers une zone de texte d'un applet java.
Cause : à partir du JRE 1.7.45 , la modification du fichier .java.policy ne suffit plus. En effet, à partir de cette version, ce fichier n'est plus pris en compte.
Avant : il suffisait de créer/modifier le fichier .java.policy situé à la racine de son répertoire personnel ou dans le dossier /home/mondossierpersonnel/.java afin d'autoriser le copier/coller entre applet java et les applications standards (libreOffice, gedit …). Cette ligne à ajouter autorisait l'utilisation du presse-papier et donc du copier/coller :
permission java.awt.AWTPermission "accessClipboard
-07-28 Maintenant : il faut en plus modifier le fichier deployment.properties qui se trouve dans le dossier /home/mondossierpersonnel/.java/deployment en ajoutant cette ligne :
deployment.security.use.user.home.java.policy=true
afin que la machine virtuelle java utilise le fichier .java.policy.
Vote par internet
Pour voter via internet aux élections (français de l’étranger par exemple), le greffon icetea n'est pas accepté. Il faut alors installer la plate-forme d’exécution JRE d'Oracle® (voir le chapitre installation de la version propriétaire) puis saisir dans un terminal la commande suivante :
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.