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

Eclipse Java Discussion :

Problème d'exécution d'un fichier jar créé avec Eclipse et utilisant MySQL


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème d'exécution d'un fichier jar créé avec Eclipse et utilisant MySQL
    Bonjour,

    J'ai un problème d'exécution d'un fichier jar créé avec Eclipse et utilisant MySQL.

    - Le programme fonctionne très bien s'il est lancé par Eclipse.
    - Mais si je clique sur le fichier jar je ne peux même pas charger le driver MySQL.

    Quelle est donc la différence entre une exécution directe et une exécution sous Eclipse ?

    Quelques informations complémentaires :
    o Le driver a bien été spécifié dans Eclipse : Projet/Propriétés/Chemin de génération ...
    o Le problème n'est pas résolu si je copie le driver :
    - dans le répertoire d'exécution du fichier jar
    - dans la racine du disque dur
    o Voici le fichier classpath :
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path=""/>
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry combineaccessrules="false" exported="true" kind="src" path="/Papou"/>
    <classpathentry exported="true" kind="lib" path="C:/zzJava/Eclipse/Data/Lib/mysql-connector-java-5.0.8-bin.jar"/>
    <classpathentry kind="output" path=""/>
    </classpath>


    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour

    Quelle version d'eclipse utilisez vous ?
    Avec Eclipse 3.4 :
    File -> Export -> Java -> Runnable Jar File.

    Cet export dézippe les jar du classpath du projet exporté et intègre les fichiers au jar exporté.

    Pour les versions inférieures, il faut (au choix) :
    * (solution 1) utiliser FatJar (qui fait la même chose que l'export d'eclipse 3.4) : http://fjep.sourceforge.net/

    * (solution 2) Editer le Classpath du MANIFEST.MF du jar exporté pour le faire pointer vers le jar du driver MySQL : http://java.developpez.com/faq/java/...on#creationJar

    Yann

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Réponse à yann
    Bonjour Yann2 et merci pour ta réponse.

    J'utilise Eclipse 3.2

    En analysant les fichiers je constate plusieurs choses :
    - j'ai un fichier .classpath (1) et un fichier .project (2) dans le répertoire de mon application
    Ces fichiers sont recréés à chaque construction du jar
    Je ne sais pas pourquoi ils sont là.
    - j'ai également des fichiers .classpath et .project dans mon fichier jar
    Ces fichiers sont invariables, à une date ancienne
    Si j'essaie d'inclure les fichiers (1) et (2) dans mon jar j'ai un message d'erreur :
    "duplicate entry: .classpath"

    Voici le fichier .classpath du jar (pas de driver MySQL spécifié) :
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path=""/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path=""/>
    </classpath>


    Existe t' il une solution pour automatiser cette mise à jour sans éditer à la main le fichier MANIFEST ?
    Ant est' il adapté à cet usage ?

    Merci encore.

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Solution
    Bonjour,

    J'ai trouvé : Les solutions sont à ces adresses :

    http://eclipse.developpez.com/faq/?p...nt#exporterJar
    http://home.hefr.ch/jbapst/pr1/doc/E...Deployment.pdf

    Finalement avec Eclipse la construction d'une application.jar utilisant une xx.jar externe au workspace nécessite 5 actions :

    1) Clic D Projet/Propriétés/Chemin de génération java/onglet Bibliothèques: Ajouter des fichiers jar externes (xx.jar)

    2) Construction de application.jar
    Clic D Projet/Fichier jar/puis assistants...
    Dans le 3 ème et dernier assistant cocher la case : Sauvegarder le manifeste dans l'espace de travail

    3) Edition du fichier MANIFEST.MF (qui vient d'être sauvé)
    Créer la ligne : Class-Path: xx.jar
    Ajouter une ligne vide en fin de fichier

    4) Reconstruire application.jar
    Dans le 3ème onglet cocher : Utiliser le manifeste existant dans l'espace de travail

    5) Copier xx.jar dans le répertoire de application.jar

    Et ça marche enfin !!!

    Merci pour vos idées.

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

Discussions similaires

  1. Droit de sécurité sur l'exécution d'un fichier jar
    Par iaiiai dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 09/11/2012, 16h58
  2. probléme d'exécution d'un fichier .sh
    Par rezguiinfo dans le forum Debian
    Réponses: 7
    Dernier message: 22/12/2010, 10h44
  3. Réponses: 0
    Dernier message: 03/09/2010, 13h07
  4. Passer un paramètre à l'exécution d'un fichier .jar
    Par JoseDavid dans le forum Général Java
    Réponses: 2
    Dernier message: 26/07/2010, 19h34
  5. Problème de DLL dans un fichier jar
    Par Guigui985 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 14/10/2008, 18h15

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