Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
java [Le 28/07/2013, 18:39]
lami [Installation manuelle de Java SE 6u32 (JDK + JRE) et du plugin]
java [Le 25/04/2023, 08:58] (Version actuelle)
frombenny lien vers logithèque
Ligne 1: Ligne 1:
-{{tag>​programmation ​plugin_navigateur}}+{{tag>​programmation ​navigateur}}
 ---- ----
-====== Java ====== 
  
-{{ java_logo.png?100|Logo Java}}+{{ java.png?80nolink| Logo Java}} 
 +====== Java====== 
 +Défini à l'​origine comme un langage, **[[wpfr>​Java_(technique)|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%% (**J**ava **R**untime **E**nvironnement) des programmes écrits dans ce langage [[wpfr>​Environnement_d'​exécution_Java|Environnement d'​exécution Java]].
 +  * la plate-forme de développement %%JDK%% (**J**ava **D**evelopment **K**it) ([[wpfr>​Java_Development_Kit|Kit de développement Java]]).
 +  * le greffon permettant d'​exécuter des programmes spéciaux ​ écrits dans ce langage pour les [[:​navigateur|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 [[:​openjdk#​developper_en_java|développer en Java]], l'​installation de la plate-forme d'​exécution des programmes %%JRE%% et le greffon pour les [[:​navigateur|navigateurs internet]] suffisent. ​
  
 +<note important>​Certaines pages internet intègrent la technologie Java pour le fonctionnement avancé de certains services en ligne. Pour utiliser ces services, il est donc indispensable d'​installer à minima la plate-forme d'​exécution **Java %%JRE%%** (**J**ava **R**untime **E**nvironnement) ​ avec son greffon pour les navigateurs internet.</​note>​
 +<note warning>​Depuis la version 11, la version de l'​[[openjdk|OpenJDK]] et la version de Oracle sont identiques (à quelques différences cosmétiques près et au support).</​note>​
  
-===== Présentation ​===== +=====Installation===== 
-[[wpfr>Java_(technique)|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+**Java** ne pouvait pas être considéré comme un logiciel libre selon les critères de la [[wpfr>Fondation du logiciel libre]] car les bibliothèques de base de Java ainsi que son compilateur étaient non-libres. **[[wpfr>​OpenJDK]]** est l'implémentation libre  sous [[wpfr>​Licence_publique_générale_GNU|Licence Publique Générale]] du standard ​Java de la société [[wpfr>​Oracle_(entreprise)|Oracle®]]. Son utilisation est donc à recommander pour respecter la philosophie ​du logiciel libre ainsi que pour son installation simplifiée puisque disponible depuis [[:​gnome-software|La Logithèque]] en différentes versions pour toutes [[:​versions#​versions_d_ubuntu_activement_soutenues|versions ​d'Ubuntu activement soutenues]].
  
-Ainsi, la technologie ​Java regroupe aujourd'​hui : +^Implémentation libre OpenJDK^Version propriétaire ​Java Oracle^ 
-  * [[wpfr>​Java_(langage)|un langage de programmation ​]]. +|Pour l'​installation et les particularités de **Java OpenJDK** implémentation libre, voir [[:openjdk|cette page]]. \\ //(Disponibles en versions 6, 7 et 8 pour toutes les [[:​versions#​versions_d_ubuntu_activement_soutenues|versions d'​Ubuntu activement soutenues]])// |Pour l'​installation et les particularités ​de la version propriétaire **Java Oracle®**, voir [[:Java_ propriétaire|cette page]].\\ //(Toutes versions stables ou en développement disponibles depuis le site officiel)// |
-  * la plate-forme d'​exécution des programmes écrits dans ce langage ​( [[wpfr>​Machine_virtuelle_Java|Machine Virtuelle Java]] )+
-  * la plate-forme ​de développement ([[wpfr>​Java_Development_Kit|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 modulaireet selon vos besoins, vous installerez certains composants et pas d'​autres : il « suffit » de connaître les éléments dont vous avez besoinDans la pratiquesi 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_a_installer|choix du paquet à installer]]// devrait vous aider à faire le bon choix.+===== Utilisation===== 
 +Pour une utilisation basique, il n'y a pas de manipulation particulière à faireUne fois installéela 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|navigateur internet]]. \\ 
 +:!: Certains [[:​navigateur|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. 
 +<note important>​Les fichiers .jar ne sont pas tous exécutables. Ils le sont //si et seulement si// le fichier ''​META-INF/​MANIFEST.MF''​ contenu dans le .jar (les fichiers .jar peuvent être extraits comme un fichier .zip) contient une ligne ayant pour forme :  
 +<​file>​Main-Class:​ <​lenomdupackage>​.<​LeNomDeLaClassePrincipale></​file>​ (en adaptant le nom de la classe principale).</​note>​
  
-==== Versions ==== 
  
-**Java** évolue au fil des années. La version actuelle est **Java SE 7**.+===En ligne de commande=== 
 +Pour les exécuter, Dans un [[ :​terminal]],​ saisir la [[ :​commande_shell|commande]] suivante : 
 +<​code>​ java -jar <fichier.jar> </​code>​
  
-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.+=== Par un double-clic === 
 +Il suffit d'​associer ​les fichiers ''​.jar''​ à la plate-forme d'​exécution Java. Pour celafaire un clic droit sur un fichier ''​.jar''​ et choisir dans le menu déroulant "//​ouvrir __a__vec//"​ -> "//​__a__utre application...//"​. Il ne reste plus qu'à sélectionner ​la plate-forme d'​exécution Java : \\ 
 +{{ :​application:​java:​ouvrir_avec_java_01.png?400 |}} \\
  
-=== Historique ​===+==== Décompiler un fichier JAR ====
  
-Voici les différentes ​versions ​ainsi que leur date de sortie : +[[android_sdk#​java_decompileur_project]] 
-  * JDK 1.0 (23 janvier 1996) +=====Anciennes ​versions===== 
-  ​JDK 1.1 (19 janvier 1997) +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. \\ 
-  ​J2SE 1.2 (9 décembre 1998) +La cohabitation des versions ne pose pas de problèmes particuliers.
-  ​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).+===== Connaître la version de Java utilisée par défaut ===== 
 +Pour connaître la version ​de Java utilisée par défaut ou simplement pour savoir si l'​installation s'est bien déroulée, saisissez dans un [[:​terminal]] la [[:​commande_shell|commande]] suivante: 
 +  ​Pour la plate-forme d'​exécution %%JRE%%<​code>​java -version</​code>​ 
 +  ​Pour la plate-forme ​de développement %%JDK%%<​code>​javac -version</​code>​ 
 +Changer la version de Java utilisée par défaut 
 +==== De manière interactive ====
  
-=== Compatibilité ===+Saisissez dans un [[:​terminal]] la [[:​commande_shell|commande]] suivante. 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.  
 +  * pour la plate-forme JRE: <​code>​sudo update-alternatives --config java</​code>​ 
 +  * pour la plate-forme JDK : <​code>​sudo update-alternatives --config javac</​code>​ 
 +  * pour [[wpfr>​Java Web Start]]:<​code>​sudo update-alternatives --config javaws</​code> ​
  
-**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).+==== De manière non interactive ==== 
 +[[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] ​**[[apt>​java-common]]**, si ce n'est pas déjà fait. 
 +  * Pour obtenir la liste des versions disponibles,​ Saisir dans un [[:​terminal]] la [[:​commande_shell|commande]] suivante :<​code>​update-java-alternatives -l</​code>​ 
 +  * Vous pouvez sélectionner la version ​de Java **OpenJDK** en saisissant dans un [[:​terminal]] la [[:​commande_shell|commande]] suivante :<​code>​sudo update-java-alternatives -java-1.7.0-openjdk</​code>​
  
-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). 
  
 +=====Problèmes connus=====
  
-==== Implémentations ​====+==== Police de caractères des menus trop petite (microscopique) sur grand écran ​====
  
-Il existe ​"plusieurs"​ implémentations ​de **Java**, parmi lesquelles :+**Solution testé sous Kubuntu 12.04 64 bits avec écran 42" ​d'une résolution ​de 1920x1080 utilisant « Open%%JDK%% » (28-07-2013).**
  
-  * **Implémentation libre** (mais "non certifiée"​ car non testé volontairement pour ne pas être validé par oracle -- [[http://​www.pcinpact.com/​actu/​news/​60358-oracle-apple-java-openjdk-apache-comite-dire.htm|Article : Oracle et Apple ensemble sur OpenJDK : tout s'​explique]]) : +Avant ^ Après ^ 
-    * **Harmony** ([[http://​harmony.apache.org/​|site]]) Implémentation mature et libre par la fondation apache (//En Novembre 2011, Apache Harmony a été retiré//. :( ) +|{{ :​arduino:​taille_des_caracteres_des_menus_d_arduino_trop_petite.jpg?400 |Avant}} |{{ :​arduino:​taille_des_caracteres_des_menus_d_arduino_trop_petite_resolu_.jpg?400 |Après}}|
-    * **gcj** : une première implémentation libre, mais non complète ; +
-  * Contrôlé par Oracle ([[http://​www.pcinpact.com/​actu/​news/​60358-oracle-apple-java-openjdk-apache-comite-dire.htm|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 ([[http://​blogs.media-tips.com/​bernard.opic/​2009/​07/​16/​une-nouvelle-certification-pour-ubuntu-904/​|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 ; +
- +
-  - [[:​tutoriel:​comment_installer_un_paquet#​installer_un_paquet_hors_depots_non_recommande|installer les paquets hors dépôt]] **__en même temps__ avec dpkg** de Debian Squeeze : +
-    - http://​packages.debian.org/​squeeze/​sun-java6-bin  +
-    - http://​packages.debian.org/​squeeze/​sun-java6-jre  +
-    - http://​packages.debian.org/​squeeze/​sun-java6-fonts  +
-    - http://​packages.debian.org/​squeeze/​sun-java6-plugin  +
-  - Autre solution via PPA ( pour Ubuntu 13.04, 12.10, 12.04, 11.10) +
-<​code>​sudo add-apt-repository ppa:​webupd8team/​java +
-sudo apt-get update +
-sudo apt-get install oracle-java7-installer</​code>​ +
-source : http://​www.webupd8.org/​2012/​01/​install-oracle-java-jdk-7-in-ubuntu-via.html +
-<note help> +
-Le dépôt est paramétré avec la version **maya** qui n'​existe pas chez Ubuntu (c'est la version de Mint développée à partir de Precise). +
-Il faudra donc dans le fichier **/​etc/​apt/​sources.list.d/​webupd8team-java-maya.list** remplacer les 2 occurences **maya** par **precise** : +
-<​code>​ +
-deb http://​ppa.launchpad.net/​webupd8team/​java/​ubuntu precise main +
-deb-src http://​ppa.launchpad.net/​webupd8team/​java/​ubuntu precise main +
-</​code>​ +
-Recharger ensuite les paquets par <​code>​sudo apt-get update</​code>​ +
-</​note>​ +
- +
-<note important>​Attention,​ c'est une version en développement donc susceptible de comporter des bugs. +
-Le paquet '​oracle-java8-installer'​ est maintenant disponible aussi depuis ce ppa. http://​www.webupd8.org/​2012/​09/​install-oracle-java-8-in-ubuntu-via-ppa.html +
-</​note>​ +
-==== Installation Java JRE et plugin Java Plugin sous Ubuntu 10.10 Maverick Meerkat ==== +
- +
-<note important>​Désinstaller toutes les versions de Java ou OpenJDK [TRÈS FORTEMENT CONSEILLÉ].</​note>​ +
-(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. +
- +
-<​note>​4. Vous pouvez tester si Java fonctionne correctement ici: +
-http://​www.java.com/​fr/​download/​installed.jsp?​detect=jre&​try=1</​note>​ +
- +
-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). +
- +
-<​note>​Il est possible d'​avoir plusieurs versions installées simultanément sur votre système. Dans ce cas, on peut choisir celle à utiliser : [[#​changer_la_version_de_java_utilisee_par_defaut|Changer la version de Java utilisée par défaut]].</​note>​ +
- +
-[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 ==== +
- +
-<note important>​Depuis Karmic, les paquets de java 5 sont obsolètes dans les dépôts vous devrez donc installer cette version manuellement. - erreur, java 6 est bien présente - </​note>​ +
- +
-<note tip><​del>​Sous Lucid (Ubuntu 10.04), les paquets de sun-java 6 sont disponibles dans le [[depots#​depot_partenaire_ou_depot_commercial|dépôt partenaire]] qu'il faut activer pour pouvoir l'​installer. +
-**Remarque** : vous pouvez aussi utiliser l'​alternative icedtea6 ([[apt>​icedtea-6-jre-cacao|paquet icedtea-6-jre-cacao]] et [[apt>​icedtea6-plugin|son plugin pour les navigateurs web]])</​del>​ Tous les paquets sun-java 6 ont été retiré du dépôt partner depuis que Oracle a interdit sa publication sur Linux. Il faut donc utiliser la version libre de Java voir OpenJDK.</​note>​ +
-<note tip>Sous Oneiric Ocelot (11.10) la version acceptable pour le développement serait [[apt>​openjdk-7-jdk]],​ vous pouvez aussi passer par le site officiel [[http://​www.oracle.com/​technetwork/​java/​javaee/​downloads/​java-ee-sdk-6u3-jdk-7u1-downloads-523391.html|Java Platform, Enterprise Edition 6 SDK Update 3 (with JDK 7u1)]], pour télécharger la dernière version.</​note>​ +
- +
-OpenJDK 6 Java 6 Sun ^ Java 5 Sun ^ Description ^ +
-| [[apt>​openjdk-6-jre|openjdk-6-jre]] | [[apt>​sun-java6-jre|sun-java6-jre]] | [[apt>​sun-java5-jre|sun-java5-jre]] | **plate-forme d'​exécution** (pour exécuter des applications Java) | +
-| [[apt>​icedtea6-plugin|icedtea6-plugin]] | [[apt>​sun-java6-plugin|sun-java6-plugin]] | [[apt>​sun-java5-plugin|sun-java5-plugin]] | **plug-in** pour exécuter des //applets// Java dans le navigateur internet | +
-| [[apt>​openjdk-6-jdk|openjdk-6-jdk]] | [[apt>​sun-java6-jdk|sun-java6-jdk]] | [[apt>​sun-java5-jdk|sun-java5-jdk]] | **plate-forme de développement** (pour compiler des applications Java, réservée aux développeurs) | +
-| [[apt>​openjdk-6-doc|openjdk-6-doc]] | [[apt>​sun-java6-doc|sun-java6-doc]] | [[apt>​sun-java5-doc|sun-java5-doc]] | **javadoc** (documentation Java), indispensable aux développeurs,​ installée dans ''/​usr/​share/​doc/​...''​ | +
-| [[apt>​openjdk-6-source|openjdk-6-source]] | [[apt>​sun-java6-source|sun-java6-source]] | [[apt>​sun-java5-source|sun-java5-source]] | **sources des bibliothèques Java SE** | +
-| [[apt>​openjdk-6-demo|openjdk-6-demo]] | [[apt>​sun-java6-demo|sun-java6-demo]] | [[apt>​sun-java5-demo|sun-java5-demo]] | quelques **exemples et démonstrations** | +
-| | [[apt>​sun-java6-fonts|sun-java6-fonts]] | [[apt>​sun-java5-fonts|sun-java5-fonts]] | **polices de caractères** non libres | +
-| | [[apt>​sun-java6-javadb|sun-java6-javadb]] | | [[http://​developers.sun.com/​javadb|javadb]] | +
-| [[apt>​openjdk-6-jre-headless|openjdk-6-jre-headless]] | | | **JRE allégé** (voir [[http://​mail.openjdk.java.net/​pipermail/​challenge-discuss/​2008-March/​000099.html|ici]]) | +
-| [[apt>​openjdk-6-dbg|openjdk-6-dbg]] | | | **debugging symbols** | +
- +
-<note important>​Pour installer sun-java6-doc,​ voir ce lien : [[http://​doc.ubuntu-fr.org/​java_old|Lien externe]]</​note>​ +
- +
-==== A partir d'​Ubuntu 12.04 ==== +
-=== Manière simple, entièrement libre : environnement d'​exécution + plugin firefox === +
-Installation des paquets : [[apt>​openjdk-7-jre|openjdk-7-jre]] et [[apt>​icedtea-7-plugin|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'​[[:​precise|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 === +
-<note important>​Il semble manquer des paquets de dépendances et il n'y a qu'une version 32bits de disponible pour java 6</​note>​ +
-    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 +
-[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=915601|Source]] +
- +
-<note important>​Le dépôt **flexiondotorg** semble avoir retiré les paquets java.\\ +
-Il a mis en place une autre méthode, voir : [[https://​github.com/​flexiondotorg/​oab-java6]]</​note>​ +
- +
-<note important>​Sur 12.04 64bits, Géogébra fonctionne mieux avec la version 7</​note>​ +
- +
-=== 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 [[http://​java.com/​fr/​download/​manual_v6.jsp|ici]] - actuellement,​ la version 1.6.0_37] : <​code>​wget http://​javadl.sun.com/​webapps/​download/​AutoDL?​BundleId=69505 -O jre-6u37-linux-i586.bin</​code>​ +
-  - On place le fichier là où on veut l'​installer : <​code>​sudo mv ./​jre-6u37-linux-i586.bin /​opt/</​code>​ +
-  - On se positionne dans le répertoire /opt/ : <​code>​cd /​opt/</​code>​ +
-  - On rend le fichier exécutable : <​code>​sudo chmod +x jre-6u37-linux-i586.bin</​code>​ +
-  - On exécute le fichier d'​installation : <​code>​sudo ./​jre-6u37-linux-i586.bin</​code>​ +
-  - On crée un lien symbolique pour que Firefox prenne en compte le plugin Java Sun : <​code>​sudo ln -fs /​opt/​jre1.6.0_37/​plugin/​i386/​ns7/​libjavaplugin_oji.so /​usr/​lib/​mozilla/​plugins/​libjavaplugin_oji.so</​code>​ +
-  - On crée un lien symbolique pour que Chromium prenne en compte le plugin Java Sun : <​code>​sudo ln -fs /​opt/​jre1.6.0_37/​lib/​i386/​libnpjp2.so /​usr/​lib/​chromium-browser/​plugins/​libnpjp2.so</​code>​ +
-  - On crée le dossier des plugins puis un lien symbolique pour que Google-Chrome prenne en compte le plugin Java Sun : <​code>​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</​code>​ +
-  - On propose à Ubuntu d'​utiliser Java Sun 1.6.0_37 :<​code>​sudo update-alternatives --install /​usr/​bin/​java java /​opt/​jre1.6.0_37/​bin/​java 1 +
-sudo update-alternatives --config java</​code>​ +
-  - On supprime le fichier d'​installation : <​code>​sudo rm -fr jre-6u37-linux-i586.bin</​code>​ +
- +
-<note important>​Sur les versions d'​Ubuntu en 64bits, il faut créer un lien symbolique de la librairie a la place du plugin inexistant:​ +
-<​code>​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</​code>​ +
-</​note>​ +
- +
-<note help>En installant Java Sun de cette façon, il n'y aura pas de mises à jour automatiques. +
- +
-  * Soit, un jour, il faudra effacer ce Java et remettre celui des dépôts : +
-<​code>​ +
-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 +
-</​code>​ +
-  * 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) : +
-<​code>​sudo rm -fr /​opt/​jre1.6.0_37</​code>​ +
-+ les commandes citées plus haut</​note>​ +
- +
-<​note>​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 [[http://​java.sun.com/​javase/​downloads/​previous.jsp|anciennes versions de Java]]. +
- +
-Il est bien sûr possible de faire de même avec les [[http://​java.sun.com/​javase/​downloads/​index.jsp|versions actuelles]],​ même si dans ce cas, l'​utilisation des dépôts est préférable.</​note>​ +
- +
-Voici un script PHP **[[apt>​php5-cli]]** (nécessite la librairie ​ **[[apt>​php5-curl]]** et parfois de **[[apt>​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**. +
-<code php 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'​);​ +
-?> +
-</​code>​ +
-Pour l'​exécuter:​ +
-<​code>​sudo chmod +x ./​java_update.sh && sudo ./​java_update.sh </​code>​ +
-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. <​code>​Installation sans problème ? ( o|n )</​code>​ Normalement vous repondez **o** +
-  - A la fin de l'​installation vous aurez une boite dans ce style <​code> ​ 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</​code>​ 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 licence((sélectionnez //Accept License Agreement//​)),​ [[http://​www.oracle.com/​technetwork/​java/​javase/​downloads/​jdk-7u4-downloads-1591156.html|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** +
-[[#Mise en place du JDK|La suite]] se passera ensuite dans un [[:​terminal]] où il faudra +
-  - Se déplacer dans le dossier **/​usr/​lib/​jvm**où sera installé //Java//  +
-  - [[:​archivage#​graphiquement|Extraire l'​archive]] +
-  - 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 === +
- +
-<​code>​ +
-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</​code>​ +
- +
-<note important>​ +
-Si vous êtes sur une version 64bits, pensez à adapter l'​étape 4 de mise en place du plugin Firefox en remplaçant la 6ème commande par +
-<​code>​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</​code>​ +
-</​note>​ +
- +
-==== 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 +
- +
-FIXME À compléter FIXME +
- +
-==== 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 : +
- +
-{{ :​arduino:​taille_des_caracteres_des_menus_d_arduino_trop_petite.jpg |}} +
- +
- +
-Exemple du problème après l'​application de la solution : +
- +
-{{ :​arduino:​taille_des_caracteres_des_menus_d_arduino_trop_petite_resolu_.jpg |}}+
  
  
 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 ». 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 : +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. ​\\
- +
-« 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 : Donc, dans le fichier « /​etc/​X11/​xorg.conf », dans « Section "​Device"​ », ajouter à la fin les deux lignes suivantes en les adaptent à votre configuration :
 +<​file>​
     Option "​UseEdidDpi"​ "​False"​     Option "​UseEdidDpi"​ "​False"​
-    Option "​DPI"​ "XX x XX" +    Option "​DPI"​ "XX x XX"</​file>​
  
 Chez moi, je passe de : Chez moi, je passe de :
  
-  ​Section "​Device"​+ <​file> ​Section "​Device"​
     Identifier "​Device0"​     Identifier "​Device0"​
     Driver ​    "​nvidia"​     Driver ​    "​nvidia"​
     VendorName "​NVIDIA Corporation"​     VendorName "​NVIDIA Corporation"​
     BoardName ​ "​GeForce GTX 560 Ti"     BoardName ​ "​GeForce GTX 560 Ti"
-  EndSection+  EndSection</​file>​
   ​   ​
- 
 Avec mon "​**96**",​ je passe à : Avec mon "​**96**",​ je passe à :
  
- + <​file> ​Section "​Device"​
-  ​Section "​Device"​+
     Identifier "​Device0"​     Identifier "​Device0"​
     Driver ​    "​nvidia"​     Driver ​    "​nvidia"​
Ligne 542: Ligne 99:
     Option ​    "​UseEdidDpi"​ "​False"​     Option ​    "​UseEdidDpi"​ "​False"​
     Option ​    "​DPI"​ "96 x 96"     Option ​    "​DPI"​ "96 x 96"
-  EndSection +  EndSection</​file>​
  
 Un redémarrage de l'​ordinateur et le tour est joué ! 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.+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 !
  
-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.
  
-===== Choix du paquet ​à installer =====+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.
  
-==== Je souhaite exécuter un programme Java ====+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 : <​file>​permission java.awt.AWTPermission "​accessClipboard</​file>​ 
 +-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 : <​file>​deployment.security.use.user.home.java.policy=true</​file>​afin que la machine virtuelle java utilise le fichier //​.java.policy//​.
  
-Pour exécuter un programme Java, tels qu'​[[azureus]] ou [[eclipse]],​ installez le paquet [[apt>​openjdk-6-jre|openjdk-6-jre]]. +==== 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_shell|commande]] suivante :
- +
-==== 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). +
- +
-<note help>Un site tel que impots.gouv.fr ne fonctionne pas avec icedtea6-plugin,​ demandent sun-java6-plugin. \\ 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  +
-<note important>​Remarque:​ ceci ne semble plus vrai avec les dernières versions d'​openjdk...</​note>​ +
-</​note>​ +
-<note help> +
-Pour voter via internet aux elections ​(francais ​de l etranger) , le plug-in ​icetea n est pas accepte +
-il faut installer le jre d Oracle ​puis taper dans une console+
 <​code>​sudo update-alternatives --config mozilla-javaplugin.so</​code>​ <​code>​sudo update-alternatives --config mozilla-javaplugin.so</​code>​
-et choisir le fichier d oracle ​(dans mon cas /​usr/​lib/​jvm/​java-7-oracle/​jre/​lib/​amd64/​libnpjp2.so) +et choisir le fichier d'​Oracle ​(dans mon cas /​usr/​lib/​jvm/​java-7-oracle/​jre/​lib/​amd64/​libnpjp2.so)
-</​note>​ +
-<note help>​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**.</​note>​+
  
-<​note ​important>Si vous avez installé la version 64 bits d'Ubuntu et que +<​note ​help>Lors du premier chargement ​d'un greffon, il vous est demandé de choisir un répertoire temporaire. Laissez ​le choix par défaut ​(''/​tmp''​et cliquez sur **OK**.</​note>​
-  * soit aucune installation de paquet ne vous est proposée((c'​est ​le cas pour Intrepid x64)), +
-  * soit vous rencontrez des problèmes avec le plugin installé((telle que la page de paiement des impôts en ligne, ou les sites commerciaux d'impression de photos)), +
-alors vous pouvez suivre ​**[[:​tutoriel:​comment_installer_sun_java6_plugin_64bits|ce tutoriel]]** pour installer la version **béta** 64 bits du plugin sun java6.</​note>​+
  
-==== Je souhaite développer ​et compiler des programmes Java ====+Voir aussi : [[http://​www.java.com/​fr/​download/​help/​enable_browser_ubuntu.xml | Aide officielle(fr) sur la détection du greffon par Google-Chrome ​et Mozilla ]]
  
-Pour pouvoir compiler des fichiers ''​.java''​ en ''​.class'',​ il faut installer le JDK : [[apt>​openjdk-6-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 à [[http://​fr.wikipedia.org/​wiki/​Apache_Ant|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 :  [[http://​www.oracle.com/​technetwork/​java/​javaee/​downloads/​java-ee-sdk-6u3-jdk-7u1-downloads-523391.html|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 : 
-<​code>​ 
-wget http://​download.oracle.com/​otn-pub/​java/​java_ee_sdk/​6u3-wjdk-7u1/​java_ee_sdk-6u3-jdk7-linux-ml.sh 
-</​code>​ 
- 
-Si elle est en //64bits// préférez celle-ci : 
-<​code>​ 
-wget http://​download.oracle.com/​otn-pub/​java/​java_ee_sdk/​6u3-wjdk-7u1/​java_ee_sdk-6u3-jdk7-linux-x64-ml.sh 
-</​code>​ 
- 
-Une fois le fichier sur votre ordinateur, ​ il ne vous reste plus qu'à le rendre exécutable. 
-<​code>​ 
-chmod +x java_ee_sdk-6u3-jdk7-linux-*-ml.sh 
-</​code>​ 
-Enfin exécutez le script, qui se chargera de toute la procédure d’installation. 
-<​code>​ 
-./​java_ee_sdk-6u3-jdk7-linux-*-ml.sh 
-</​code>​ 
- 
-<​note>​Il ne vous reste plus qu'à ouvrir l’ide Java de votre choix (exemple : [[eclipse]]).</​note>​ 
- 
-===== 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]]:<​code>​sudo bash -c "echo JAVA_HOME=/​usr/​lib/​jvm/​java-6-sun/​ >> /​etc/​environment"</​code>​ 
- 
-  * Si vous utilisez l'​openjdk Saisissez dans un [[terminal]]:​ 
-32 bits : 
-<​code>​sudo bash -c "echo JAVA_HOME=/​usr/​lib/​jvm/​java-1.6.0-openjdk/​ >> /​etc/​environment"</​code>​ 
-64 bits :  
-<​code>​sudo bash -c "echo JAVA_HOME=/​usr/​lib/​jvm/​java-1.6.0-openjdk-amd64/​ >> /​etc/​environment"</​code>​ 
- 
- 
-Vérifiez qu'il n'y a pas de doublons, en [[:​tutoriel:​comment_modifier_un_fichier|é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. 
- 
-<note help>​Pour Java Web Start 
-Exécutez : 
-  sudo update-alternatives --config javaws 
- 
-</​note>​ 
- 
-=== 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 [[apt>​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 
- 
-<​note>​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).</​note>​ 
- 
- 
-==== 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 : 
-{{ open-with-java.png?​400 }} 
- 
-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**,​ [[:​tutoriel:​comment_modifier_un_fichier|éditez]] le fichier ''/​etc/​environment'',​ qui contient les variables d'​environnement chargées par défaut, et rajoutez : 
-<​file>​TZ="​Europe/​Paris"</​file>​ 
- 
-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 : 
- 
-  - [[:​tutoriel:​comment_installer_un_paquet|Installer les paquets]] **[[apt>​sun-java6-jdk,​sun-java6-jre|sun-java6-jdk sun-java6-jre]]**. 
-  - ''​%%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===== =====Voir aussi=====
 +  * **(en)** [[http://​openjdk.java.net/​|Le site officiel d'​OpenJDK]]
 +  * **(fr)** [[https://​www.oracle.com/​fr/​index.html|Le site officiel d'​Oracle®]]
 +  * **(en)** [[https://​www.linuxbabe.com/​ubuntu/​install-oracle-java-8-openjdk-11-ubuntu-18-04-18-10|Install Oracle Java 8 and Open JDK 11 with Ubuntu 18.04 and 18.10]]
  
-  * [[http://​www.java.com/​fr/​download/​help/​enable_browser_ubuntu.xml | Aide officielle sur la détection du plugin par Google-Chrome et Mozilla (officielle) (fr)]] +----
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=396609/​|Comment installer java sur Ubuntu 10.04 (Lucid Lynx) (Forum) (fr)]] +
-  * [[https://​wiki.ubuntu.com/​LucidLynx/​ReleaseNotes#​Sun_Java_moved_to_the_Partner_repository | Release Note pour Lucid au sujet de Java]] +
- ----+
  
-//​Contributeurs : +//​Contributeurs : [[utilisateurs:​lami|L'​ami René]], [[utilisateurs:​oizo]].//​
  • java.1375029584.txt.gz
  • Dernière modification: Le 28/07/2013, 18:39
  • par lami