Archive jar qui ne se lance pas

Résolu
Kellodie -  
 Kellodie -
Bonjour,

J'ai un problème suite à une archive jar que j'essaie de faire. À priori, tout est bon, mais le fichier .jar ne veut pas se lancer. Or, si je met ce fichier sur une clé USB et que j'essaie de l'ouvrir à partir de celle-ci, alors le fichier s'ouvre et fonctionne sans problème. J'ai essayé de lancer le fichier sur mon ordinateur à partir de l'invite de commandes en mode Administrateur, et il m'affiche le message suivant : "Impossible de trouver ou charger la classe principale". Et étonnamment, le même message s'affiche pour le fichier présent sur la clé USB (fichier qui s'ouvre sans problème). Cela fait déjà quelques temps que je me penche sur le problème, en vain.

Est-ce que quelqu'un aurait une idée de comment résoudre ce problème, et d'où cela pourrait venir ?

Merci beaucoup.

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Est-ce que tu pourrais décompresser le jar (c'est un fichier zip), nous copier-coller l'arborescence du dossier (
    tree /F
    sur Windows) et le contenu du fichier
    META-INF/MANIFEST.MF
    ?
    0
    1. Kellodie
       
      Voici l'arborescence de mon fichier compressé :
      https://image.noelshack.com/fichiers/2018/23/2/1528194853-sans-titre.png
      https://image.noelshack.com/fichiers/2018/23/2/1528194879-sans-titre.png

      Et voici le contenu du fichier MANIFEST.MF :
      Manifest-Version: 1.0
      Created-By: 1.8.0_161 (Oracle Corporation)
      Main-Class: Main


      PS : Je confirme qu'il y a bien un retour à la ligne dans ce fichier

      Merci
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020 > Kellodie
       
      Il y a peut-être plusieurs versions de Java sur ton système, qui feraient que le Java appelé par l'invite de commande (dans le PATH) ne serait pas le même Java que celui utilisé par Windows (programme par défaut pour l'extension .jar)

      Tu peux faire un
      where java
      en ligne de commande. En général Windows utilise celui dans
      C:\ProgramData
      alors que dans le PATH on met plutôt celui de
      C:\Program Files
      , il faudrait faire des
      java -version
      pour savoir ce qu'il en est. Par exemple
      "C:\ProgramData\Oracle\Java\javapath\java.exe" -version
      (avec ma config)

      Remarque : pour être sur la même longueur d'onde, c'est la commande
      java -jar fichier.jar
      que tu utilises ?
      Du coup tu peux également essayer avec les différents java.exe listés pour trouver ceux qui fonctionnent.
      0
    3. Kellodie
       
      À priori, il n'y aurait que la même version de java en plusieurs exemplaires :
      https://image.noelshack.com/fichiers/2018/23/2/1528215495-sans-titre.png

      Oh par contre pour la commande, j'avais utilisé "java fichier.jar". C'était seulement un essai pour essayer de trouver pourquoi mon fichier ne s'ouvrait pas bien sur windows mais s'ouvrait sur clé USB, mais peut être que la commande était mal écrite.

      Du coup j'avais déjà testé avec deux versions de java, et sur l'une, aucun des fichiers (clé USB/windows) ne s'ouvraient, tandis que sur l'autre, le fichier sur la clé s'ouvrait.

      Merci
      0
    4. KX Messages postés 19031 Statut Modérateur 3 020 > Kellodie
       
      Du coup, le problème est réglé avec la bonne commande Java ? Ou il subsiste des problèmes ?
      0
    5. Kellodie
       
      Désolée du retard c'était un peu compliqué pour moi de répondre, non du coup le problème n'est pas du tout réglé :/
      0