IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Exécuter un .jar


Sujet :

avec Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut Exécuter un .jar
    Bonjour à tous,
    je postes ici parce que j'ai un souci avec l'éxécution d'un fichier .JAR que je génère.

    Le fait est que la génération du .JAR se fait sans accroc (semble-t-il) mais lorsque je lance le fameux fichier .JAR, rien ne se passe.
    Dans le contrôelur de tâches on voit bien le fichier en train de tourner mais rien n'apparaît à l'écran.

    Est-ce que celà peut venir de librairie mal incorporées, de classes mal ajoutées ???

    C'est en gros le seul et unique pb qui m'empêche de terminer mon projet.

    Merci de vos réponses.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    faudrait voir ton code, t'aurais pas oublié un setVisible(true) sur une fenêtre?

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Et surtout, as tu spécifié la classe du main lors de l'export du jar ?

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    J'utilise le plugin "jigloo" donc la génération se fait presque toute seule, le truc que j'ai oublié de vous préciser (et qui a peut-être son importance) est que j'utilise (et attache au .JAR) des librairie qui sont des .JAR...
    Sinon quand je lance le programme à partir de ECLIPSE tout se passe correctement.

  5. #5
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    salut,
    éxecute-le dans ta console pour voir s'il y' une erreur et balance la nous?
    Sinon comme l'a dit djo.mos, as-tu spécifié ta classe main dans le fichier manifest?
    Vu que t'as utilisé un utilitaire qui fait ca ouvre ton fichier manifest pour voir ce qu'il contient réellement et surtout regard si Main-Class: contient le chemin de ta classe Main.

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    quand je lance le .JAR, ça m'ouvre une boite de dialogue d'erreur qui me dit "could not find the main class. Programm will exit".

    Pourant le manifest contient bien le chemin de la classe principale...

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Vérifie dans ton jar que tu as bien META-INF/MANIFEST.MF qui contient Main-Class: , qu'il y a bien un retour à la ligne après, et surtout que ta classe main se trouve bien aussi dans le jar

  8. #8
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    Et concernant l'inclusion de librairie ;JAR dans le .JAR final, celà peut-il poser pb ou non ?

  9. #9
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    l'erreur en sortie de console après avoir tapé "java -jar monprog.jar" est:
    "Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group".

    Vous voyez mieux avec ça ?

    Et dans le manifest j'ai bien la classe principale qui est notée.

  10. #10
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Il faut aussi ajouter le jar de GroupLayout dans le classpath du jar:
    http://java.developpez.com/faq/java/...on#creationJar

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    déclare tes jar externes dans ton fichier manifest

  12. #12
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    J'ai repris le tuto du lien du dessus mais rien n'y fait.
    Et pourquoi en utilisant eclispe rien ne marche correctement ?

  13. #13
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par free-lance Voir le message
    J'ai repris le tuto du lien du dessus mais rien n'y fait.
    C'est à dire ? T'as fait quoi au juste ? Montres nous ton manifest et assures toi que les jars requis (GroupLayout par exemple) se trouvent dans le même répertoire que le jar que tu exécutes.

    Et pourquoi en utilisant eclispe rien ne marche correctement ?
    La méthode présentée dans la FAQ n'est pas destinée à eclipse, mais pour un jar standalone.

  14. #14
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    alors,
    j'ai créé un dossier "JAR" tout exprès. Dedans y'a mon dossier "META-INF" qui contient "MANIFEST.MF" avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0
    Main-Class: package_viper.IHM
    Class-Path: .\AdventNetLogging.jar .\AdventNetSnmp.jar .\Jazz-FileConfig.jar .\Jazz-Script.jar .\Jazz-SNMP.jar .\Jazz-Traces.jar .\looks-2.1.4.jar .\PR4G_FR.jar .\swing-layout-1.0.jar
    je rajoute aussi tous les fichiers .class dans le dossier "JAR" ainsi que le classpath qui contient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry kind="src" path="IHM"/>
    	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    	<classpathentry kind="." path="./AdventNetLogging.jar"/>
    	<classpathentry kind="." path="./AdventNetSnmp.jar"/>
    	<classpathentry kind="." path="./Jazz-FileConfig.jar"/>
    	<classpathentry kind="." path="./Jazz-Script.jar"/>
    	<classpathentry kind="." path="./Jazz-SNMP.jar"/>
    	<classpathentry kind="." path="./Jazz-Traces.jar"/>
    	<classpathentry kind="." path="./looks-2.1.4.jar"/>
    	<classpathentry kind="." path="./PR4G_FR.jar"/>
    	<classpathentry kind="." path="./swing-layout-1.0.jar"/>
    	<classpathentry kind="output" path=""/>
    </classpath>
    J'ouvre une fenêtre de commande, me place dans le dossier "JAR" et lance:

    "jar cvfm test.jar META-INF/MANIFEST.MF"

    voilà... j'espère avoir réussi à suivre le tuto mais bon... j'obtiens une erreur qui me dis que "jar" n'est pas reconnue en tant que commande interne ou externe... bref, la loose quoi.

  15. #15
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    Bon alors il semblerait que eclispe ne mette pas à jour le fichier META-INF/MANIEFST.MF... donc en ouvrant le .JAR avec winzip et en modifiant convenablement le fichier je réussis à lancer le soft...

    Quelqu'un saurait pourquoi eclipse ne sait pas écrire correctement le manifeste ?

  16. #16
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par free-lance Voir le message

    Quelqu'un saurait pourquoi eclipse ne sait pas écrire correctement le manifeste ?
    C'est pas faux ... ce serait beaucoup plus utile (et ça diviserait le nombre de questions dans les forums Java par 3) si eclipse générait des manifest incluant les jars du build-path.
    As tu pensé à ouvrir une issue BugZilla dans le site d'eclipse à propos de ça (si ça n'existe pas déjà) ?

  17. #17
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Par défaut
    Nan je n'y ai pas pensé, je vais aller faire un tour sur le site et leur dire ma façon de penser... héhéhé

    Bon je déclare ce topic "résolu" pour le moment.

    Merci à tous en tous cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2007, 03h10
  2. Réponses: 2
    Dernier message: 03/02/2007, 00h39
  3. [Driver JDBC] Exécution du jar
    Par gwendo dans le forum JDBC
    Réponses: 2
    Dernier message: 15/06/2006, 15h53
  4. création exécutable depuis Jar
    Par chasse dans le forum EDI et Outils pour Java
    Réponses: 17
    Dernier message: 24/05/2006, 15h54
  5. Exécution de jar (log4j introuvable)
    Par jeje99 dans le forum Logging
    Réponses: 2
    Dernier message: 19/12/2005, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo