En Java-25, jar : Le terme «jar» n'est pas reconnu!

Résolu
benoit_28 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -  
benoit_28 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Comment peut-il se faire qu'en Java (aussi bien en Java17 qu'en Java-25), une compilation de programmes pour donner un .jar:

jar cvmf MANIFEST.MF en_puits_mar_2025.jar en_puits_mar_2025.class en_appli_puits*ss  memoires_communes_aux_2_* point.class *.jpg D*.class

soit refusée avec le commentaire:

jar : Le terme «jar» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme
exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct
et réessayez.
Au caractère Ligne:1 : 1
+ jar cvmf MANIFEST.MF en_puits_mar_2025.jar en_puits_mar_2025.class en ...
+ ~~~
    + CategoryInfo          : ObjectNotFound: (jar:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 

C'est donc bien la chaîne "jar" qui n'est pas trouvée. Portant, pour faire mes classes avec javac  il n'y a aucun problème, donc la chaine "javac" est bien reconnue.!

P.S. ceci est pour moi un nouveau problème, différent du problème précédent!!

Cordialement.


Windows / Chrome 146.0.0.0

A voir également:

4 réponses

luckydu43 Messages postés 4525 Date d'inscription   Statut Membre Dernière intervention   1 175
 

Bonjour

Java 25 n'a pas introduit une telle dépréciation, il s'agit donc plutôt d'un problème de variable d'environnement.

Vérifiez que %JAVA_HOME% soit bien définie, elle doit être à la racine du JDK.

Cela confirmé, ajoutez %JAVA_HOME%\bin dans le Path et rouvrez une console.

Dans le doute, les commandes where et Get-Command sous Powershell peuvent vous aider à identifier les déclarations reconnues dans la console courante et ajuster la configuration système.

Parlant de javac il n'est pas question de JRE mais bien d'un JDK, JAVA_HOME et le Path suffisent.

Tenez au jus !

0
benoit_28 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   1
 

Bonjour.

Je vous remercie se votre réponse, mais elle n'est pas suffisante pour moi qui ne suis pas expert en variables d'environnement. J'ai beau tâtonner en m'aidant de diverses faq, je n'y arrive pas. Donc je vous pose les questions suivantes:

1. Où se trouve le Path et comment le modifier avant de faire le jar.

2 Comment savoir qelle est la variable d'environnement %JAVA_HOME% et comment la modifier? (je pense que cela doit être pour moi Java-25 mais je voudrais en être sur).

D'avance merci.

0
luckydu43 Messages postés 4525 Date d'inscription   Statut Membre Dernière intervention   1 175
 

Pas de problème, on va détailler.

En me basant sur votre signature "Windows / Chrome 146.0.0.0" je pars sur Windows. Les autres systèmes les déclarent autrement.

Plus précisément Windows 8.1/10/11. 

Je pars du principe que vous avez décompressé le JDK 25 quelque part dans un répertoire type C:/Java/JDK, ou assimilé (tant que hors C:\Utilisateurs) puisqu'on va déclarer une variable système.

Ouvrez le répertoire décompressé du JDK jusqu'aux fichiers java.exe et javac.exe (souvent bin), vérifiez bien la présence de jar.exe, java.exe et javac.exe entre autres. Notez ce chemin.

Clic droit sur le bouton Windows en bas à droite, un menu contextuel s'ouvre, "Système" puis "Paramètres avancés du système" puis "Variables d'environnement".

Ce qui nous intéresse sont les variables système (celles du bas).

Avant tout ajout, parcourez toutes les variables utilisateur et système, savoir d'où vient la déclaration actuelle de java 25 : il faut la supprimer avant de passer à la suite histoire d'avoir une déclaration propre et d'être certain de la source de java.

  • Copiez le chemin douteux dans une invite de commandes sous la forme "CHEMIN\java.exe --version", si ça renvoie quelque chose vous avez trouvé un "coupable". Rien ne doit avoir du java hormis votre déclaration à venir.

Seulement après le nettoyage fait, on peut ajouter la vraie déclaration (doc Oracle (lien)) :

Cliquez sur "Nouvelle..." (tout en bas, système), ça ajoute une ligne, tapez Variable JAVA_HOME et en valeur le chemin complet (copier-coller) du chemin noté au début.

  • Mettez un [ " ] sans espace au début et à la fin de la ligne du chemin pour permettre la bonne interprétation du chemin.
  • Certains vont jusqu'à tronquer tous les noms de dossiers en 6chars~n (type PROGRA~1 format 8.3 (lien)) mais on ne se garde ça qu'en dernier recours.

Double-clic sur la ligne "Path" (toujours partie système du bas), on a un tableau, clic sur "Nouvelle", ça ajoute une cellule, saisissez $JAVA_HOME/bin

Fermez les consoles si ouvertes, rouvrez-en une, tentez un java --version, un javac --version puis un jar --version, les 3 devraient marcher.

Techniquement on peut se passer de JAVA_HOME et directement déclarer le chemin dans Path mais selon le reste de votre outillage, ça peut être demandé. Autant ne pas perdre du temps par la suite, c'est un nom de variable qui ne souffre pas concurrence.

0
luckydu43 Messages postés 4525 Date d'inscription   Statut Membre Dernière intervention   1 175 > luckydu43 Messages postés 4525 Date d'inscription   Statut Membre Dernière intervention  
 
  • JAVA_HOME doit taper le dossier parent du dossier bin ou jre selon où se trouvent les java, javac et jar
  • C'est %JAVA_HOME%\bin et non $JAVA_HOME/bin dans le Path (notation Unix VS Windows)

J'aurais du jouer la doc avant de post --'

0
benoit_28 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   1
 

Bonjour.

J'ai fait tout ce que vous me disiez, et le .jar n'est toujours pas reconnu. Pourtatnt il y a bien un jar.exe dans le jdk_25 et les variables d'environnement sont bien  :

JAVA_HOME  C:\Program Files\jdk_25

Path                  C:\Program Files\jdk_25\bin

et il y a bien un jar.exe   dans  C:\Program Files\jdk_25\bin , demême que le  javac.exe et le java.exe

Qu'est ce qui peut bien être arrivé??????

En fait c'est arrivé sur jdk_17 alors que je venais de compiler avec succés un programme et de faire de ce programme un .exe pour en faire une application pour l'internet, ce qui a très bien marché. J'ai essayé de faire la même chose pour ma version  Anglaise, et, à ma grande surprise, je suis tombé sur ce refus de reconnaître  jar. En revenant à ma version Française, j'ai vu qu'elle avait le même problème. Alors, je suis passé sur jdk_25, sans sucès donc.         

0
luckydu43 Messages postés 4525 Date d'inscription   Statut Membre Dernière intervention   1 175
 

Il vaut mieux ajouter des captures dans ce cas, ça peut venir de différentes choses.

Comme on dit, "photo sinon fake" :

Jouez bien la partie "parcourez toutes les variables utilisateur et système, savoir d'où vient la déclaration actuelle de java 25 : il faut la supprimer avant de passer à la suite histoire d'avoir une déclaration propre et d'être certain de la source de java", c'est peut-être là la clé.

0
benoit_28 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   1
 

Ca y est, j'ai trouvé mon erreur. Le problème était dans le JAVA_HOME que j'avais mia dans le tableau du haut de "variables d'environnement au lieu du tableau du bas (réservé aux variables système). En tous cas, vous m'avez bien aidé! 

Un grand MERCI

Benoît

0