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 :

mon application exportée en jar ne trouve pas le driver mysql


Sujet :

Eclipse Java

  1. #1
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut mon application exportée en jar ne trouve pas le driver mysql
    Bonjour
    Je vais poser une question sur un sujet beaucoup abordé dans les forums, et sur lequel on peut trouver quelques aides dans les faqs; pourtant, je ne parviens toujours pas à résoudre mon problème.
    Dans mon projet, je travaille avec une base de données mysql. J'ai donc inclus le .jar nécessaire. J'ai regardé dans la faq comment inclure un jar interne au workspace, j'ai effectué la manip et lorsque j'a cliqué sur "add jar" , j'ai eu une fenêtre grisée, avec écrit tout en bas, "no entries available". J'ai donc importer mon jar de manière externe au projet. Sous Eclipse, toute mon appli fonctionne correctement. J'exporte mon appli en .jar en lui spécifiant la classe principale. Un manfest se crée et contient ceci :
    Manifest-Version: 1.0
    Main-Class: Exec


    Ensuite je crée mon .bat en y mettant la ligne suivante:
    java -jar Exec.jar

    Le jar (l'appli), le .bat et autres fichiers nécessaires au fonctionnement du projet sont tous dans le même répertoire : C:/projet. J'y ai également mis le .jar pour la connexion au serveur. Le problème est que visiblement il ne trouve pas le driver.

    Pouvez-vous m'aider?
    Merci
    Bonne journée
    Sophie

  2. #2
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Voici la réponse à mon problème. Dans tout ce que j'ai essayé pour résoudre ce problème, il me semblait avoir déjà essayé cette solution et que ça n'ai pas marcher. En tous les cas, ça a marché cette fois-ci.
    J'ai donc un jar mysql-connector(etc).jar inclus de façon externe dans mon application. Après avoir exporter une première fois mon projet, un fichier manifest a été créé, j'y ai accès sous eclipse, dans ce fichier , j'ai écrit:
    Class-Path: projet\mysql-connector-java.jar

    Je ne sais pas si ça a beaucoup d'importance, mais j'ai mis cette ligne avant le Class-Main.
    Mon dossier projet est situé sur C:/. Il faut bien noter que dans ce C:/projet j'ai mon driver pour mysql.A préciser aussi : Lors de l'importation de mon jar externe, j'ai spécifié que chemin, C:/projet.
    En espérant que ça aide certaine autres personnes.

  3. #3
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Autre information : mon driver est mysql-connector-java-3.1.14-bin.jar
    Pourtant dans le manifest, il est bien écrit mysql-connector-java.jar

  4. #4
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Salut,

    La notion de classpath est fondamentale en Java. Il est important de la connaître et la comprendre.

    Je te renverrais à la FAQ : http://java.developpez.com/faq/java/...UAGE_CLASSPATH

    Pour ajouter un jar "interne" sous Eclipse, il faut au préalable copier ton jar dans ton workspace (dans un sous-répertoire lib/ dans ton projet par exemple). Ensuite, et seulement ensuite, tu pourras sélectionner ce jar dans le dialogue "add jar".

    Autre information : mon driver est mysql-connector-java-3.1.14-bin.jar
    Pourtant dans le manifest, il est bien écrit mysql-connector-java.jar
    Ce n'est pas possible qu'il te prenne le fichier mysql-connector-java-3.1.14-bin.jar si tu renseignes mysql-connector-java.jar.
    Donc, soit tu as un fichier mysql-connector-java.jar qui traîne, soit... je ne sais pas

    Voilà pour le complément d'informations.

  5. #5
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Salut
    merci pour toutes tes infos.
    Il faut rajouter le jar dans /lib, mais je n'ai pas ce répertoire, est-il créé automatiquement ou est-ce a moi de le faire?
    Pour ce qui est du class-path que j'ai renseigné dans mon manifest, tout fonctionne, je n'ai aucun mysql-connector-java.jar qui traîne. tout fonctionne malgré cette incohérence.
    Merci

  6. #6
    Membre du Club Avatar de poupouille
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    RE c'est encore moi
    je viens de retester en modifiant mon class-path dans le manifest et en inscrivant : projet\mysql-connector-java-3.1.14-bin.jar
    Dans les deux cas ça fonctionne. Pourquoi ??? j'en sais absolument rien

  7. #7
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par poupouille Voir le message
    Il faut rajouter le jar dans /lib, mais je n'ai pas ce répertoire, est-il créé automatiquement ou est-ce a moi de le faire?
    Ce n'est qu'un exemple. Tu dois bien sûr créer ce répertoire toi même mais tu es libre de faire autrement. Tu dois juste mettre ton jar dans ton projet avant de pouvoir faire "add jar", c'est tout.

    Citation Envoyé par poupouille Voir le message
    je viens de retester en modifiant mon class-path dans le manifest et en inscrivant : projet\mysql-connector-java-3.1.14-bin.jar
    Dans les deux cas ça fonctionne. Pourquoi ??? j'en sais absolument rien
    Alors j'ai une proposition... est-ce que java est suffisamment intelligent pour "enlever" les informations de version à la fin d'un nom de fichier jar ?... C'est possible mais c'est à vérifier. Dans un sens je trouve ça assez logique car ça évite de changer un fichier MANIFEST quand tu mets à jour une librairie de ton projet.

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

Discussions similaires

  1. [iReport] Mon Jar ne trouve pas le jrxml
    Par ulysse031 dans le forum Général Java
    Réponses: 6
    Dernier message: 06/07/2011, 13h36
  2. iReport + eclipse: Mon Jar ne trouve pas le jrxml
    Par minooo dans le forum iReport
    Réponses: 0
    Dernier message: 24/06/2011, 12h20
  3. iReport + Netbeans: Mon Jar ne trouve pas le jrxml
    Par emmessi dans le forum Jasper
    Réponses: 3
    Dernier message: 30/11/2010, 15h48
  4. Projet Exporté en JAR ne veut pas s'exécuter
    Par jacko2 dans le forum Général Java
    Réponses: 16
    Dernier message: 30/04/2008, 21h39
  5. [Tomcat]Tomcat ne trouve pas les driver mysql
    Par Lash3r dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 06/01/2006, 01h12

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