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édentesRévision précédente
java [Le 24/04/2026, 10:19] – réorganisation connaître et changer la version par défaut bcag2java [Le 24/04/2026, 15:38] (Version actuelle) – màj note navigateur web / JRE | mise en forme | màj liens internes | détails krodelabestiole
Ligne 1: Ligne 1:
 {{tag>programmation navigateur}} {{tag>programmation navigateur}}
----- 
  
 {{ java.png?80nolink| Logo Java}} {{ java.png?80nolink| Logo Java}}
 ====== 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**. \\ 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 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 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]]). +  * 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]]. +  * L'extension permettant d'exécuter des programmes spéciaux  écrits dans ce langage pour les [[:navigateur|navigateurs web]]. 
-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. +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 l'extension 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> 
-<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>+Avant 2015, de nombreuses pages [[:web]] intégraient la technologie Java pour le fonctionnement avancé de certains services en ligne. Pour utiliser ces services, il était donc indispensable d'installer la plate-forme d'exécution **Java %%JRE%%** (//**J**ava **R**untime **E**nvironnement//)  avec son extension pour les [[:navigateur|navigateurs web]]. 
 + 
 +Cette technologie a depuis été largement remplacée par [[wpfr>HTML5]] et [[wpfr>JavaScript]] (à ne pas confondre avec Java). 
 +</note> 
 + 
 +<note warning> 
 +Depuis la version 11, la version de l'[[:OpenJDK]] et la version de Oracle sont identiques (à quelques différences cosmétiques près et au support). 
 +</note>
  
 ===== Installation ===== ===== Installation =====
Ligne 22: Ligne 29:
 |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)// | |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)// |
  
-===== Utilisation===== +===== 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|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.+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|navigateur internet]]. 
 + 
 +:!: Certains [[:navigateur|navigateurs internet]] désactivent l'extension Java par défaut ([[:Firefox]] par exemple). En cas de problèmes rencontrés, vérifiez son activation. 
 ==== Exécuter un fichier JAR ==== ==== 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. 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 :  <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> <file>Main-Class: <lenomdupackage>.<LeNomDeLaClassePrincipale></file> (en adaptant le nom de la classe principale).</note>
  
-===En ligne de commande===+=== En ligne de commande === 
 Pour les exécuter, Dans un [[ :terminal]], saisir la [[ :commande_shell|commande]] suivante : Pour les exécuter, Dans un [[ :terminal]], saisir la [[ :commande_shell|commande]] suivante :
 <code> java -jar <fichier.jar> </code> <code> java -jar <fichier.jar> </code>
  
 === Par un double-clic === === 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 __a__vec//" -> "//__a__utre application...//". Il ne reste plus qu'à sélectionner la plate-forme d'exécution Java : \\ 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 __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 |}} \\ {{ :application:java:ouvrir_avec_java_01.png?400 |}} \\
Ligne 40: Ligne 53:
 ==== Décompiler un fichier JAR ==== ==== Décompiler un fichier JAR ====
  
-[[android_sdk#java_decompileur_project]] +[[:android_sdk#java_decompileur_project]] 
-=====Anciennes versions=====+ 
 +===== 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. \\ 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. La cohabitation des versions ne pose pas de problèmes particuliers.
  
 ===== Gestion de la version de Java utilisée par défaut ===== ===== Gestion de la version de Java utilisée par défaut =====
 +
 ==== Connaître la version de Java utilisée par défaut ==== ==== 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 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   * Pour la plate-forme d'exécution %%JRE%%<code>java -version
Ligne 55: Ligne 72:
  
 ==== Changer la version de Java utilisée par défaut ==== ==== Changer la version de Java utilisée par défaut ====
 +
 === De manière interactive === === De manière interactive ===
  
Ligne 63: Ligne 81:
  
 === De manière non interactive === === De manière non interactive ===
-[[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **[[apt>java-common]]**, si ce n'est pas déjà fait.+ 
 +[[:deb#installer_un_paquet_deb|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>   * 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 -s java-1.7.0-openjdk</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 -s java-1.7.0-openjdk</code>
  
 +===== Problèmes connus =====
  
-=====Problèmes connus=====+==== Copier/Coller impossible de/vers un applet java (Firefox) ====
  
- 
-==== 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. Symptôme : Il est impossible de faire un copier/coller de ou vers une zone de texte d'un applet java.
  
Ligne 80: Ligne 98:
 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//. 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//.
  
-==== Vote par internet==== +==== 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 :+ 
 +Pour voter via Internet aux élections (français de l’étranger par exemple), l'extension **icetea** n'est pas acceptée. 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 :
 <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 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>+<note help>Lors du premier chargement d'une extension, il est demandé de choisir un répertoire temporaire. Laissez le choix par défaut (''/tmp'') et cliquez sur **OK**.</note>
  
-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 ]]+Voir aussi : [[http://www.java.com/fr/download/help/enable_browser_ubuntu.xml|Aide officielle(fr) sur la détection de l'extension par Google-Chrome et Mozilla]]
  
 +===== Voir aussi =====
  
-=====Voir aussi===== +  * [[:OpenJDK]] 
-  * [[:openjdk|OpenJDK]] +  * **(//en//)** [[http://openjdk.java.net/|Le site officiel d'OpenJDK]]
-  * **(en)** [[http://openjdk.java.net/|Le site officiel d'OpenJDK]]+
   * **(fr)** [[https://www.oracle.com/fr/index.html|Le site officiel d'Oracle®]]   * **(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]]+  * **(//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]]
  
 ---- ----
- +//[[:Contributeurs]] : [[:utilisateurs:lami|L'ami René]], [[:utilisateurs:oizo]].//
-//Contributeurs : [[utilisateurs:lami|L'ami René]], [[utilisateurs:oizo]].//+