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

JDBC Java Discussion :

Erreur "cannot create jdbc driver of class ‘com.mysql.jdbc.driver’"


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par défaut Erreur "cannot create jdbc driver of class ‘com.mysql.jdbc.driver’"
    Bonjour,

    J'ai une application web (servlet) JEE qui tourne sous tomcat 6. En mode développement sous windows avec netbeans, tout marche parfaitement. En revanche, quand j'essaie de déployer l'application sur une machine virtuelle ubuntu 9.0.4 (c'est pour un TP Cloud donc je suis contraint d'utiliser cette version), j'obtiens l'erreur suivante (SQL Nested Exception) qui apparaît lorsqu'on exécute Datasource.getConnection() :
    cannot create jdbc driver of class ‘com.mysql.jdbc.driver’ for connect URL jdbc:mysql://localhost:3306/bdd bdd étant le nom de la base de données.

    J'ai pris soin de vérifier que la librairie mysql-connector-java-… se trouvait bien dans l’application sur la machine virtuelle. Mysql est bien lancé, la base de données bdd est bien créée et mysql est bien défini pour l’adresse 127.0.0.1 :3306.
    Cela fait plusieurs jours que je cherche une réponse à ce problème sur internet en vain (ne me renvoyez pas sur d'autre discussion).
    Auriez-vous une idée de l’origine du problème ? Je vous rajoute à la fin du mail le fichier context.xml (qui ne semble pas être la source du problème).


    Bien cordialement,

    Fichier context.xml :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/appCloud">
     
    <Resource name="jdbc/bdd"
              auth="Container"
              type="javax.sql.DataSource" 
              maxActive="100" 
              maxIdle="30" 
              maxWait="10000"
              username="root" 
              password="root" 
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/bdd"/>
    </Context>

  2. #2
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Malgré que ton fichier de config soit valide, tu dis que l'exception est : cannot create jdbc driver of class ‘com.mysql.jdbc.driver’ for connect URL jdbc:mysql://localhost:3306/bdd
    Or le driver est "com.mysql.jdbc.Driver", ce qui expliquerait pourquoi il ne peut pas créer la classe. Tu n'aurais pas deux config ? Ou des "versions" différentes entre ta machine virtuelle et ton Windows ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    En tout cas, il faudra que tu fournisses la stackTrace complète qui devrait se trouver dans les logs de tomcat. Si tu as un "no suitable driver found", c'est bien qu'il ne trouve pas le jar du connecteur mysql. Il faudra donc savoir où est ce que tu l'as placé exactement (WEB-INF/lib?).
    Dernière modification par paissad ; 21/01/2013 à 01h45. Motif: Suppression superflu dû au déplacement de discussion.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par défaut
    Le serveur MySQL est sur linux et, au niveau de la casse des classes, c'est juste une erreur de recopie de ma part, driver a bien un D majuscule.

    Je vais essayer de vous donner les logs ainsi que de voir les différentes de version en mon environnement de dev sous Windows et le serveur ubuntu.

    (Merci)

  5. #5
    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
    On pourrais avoir la stacktrace complète de l'erreur? Difficile de dire ce qui se passe si on a pas le log complet mais juste des bribes.

    Java ne se contente jamais de dire qu'il ne peux pas créer la connection, il en indique toujours la raison dans la stacktrace.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Par défaut
    Voici le contenu de Catalina.2013-01-20.log (localhost.2013-01-20.log étant vide), en espérant que ce soit le fichier concerné :

    PS : je fais un try catch pour le datasource.getConnexion() et mon application s'appelle appCloud (présence aussi de TPCloud qui est un autre test)

    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
    17
    18
    19
    20
    21
    22
    Jan 20, 2013 10:47:18 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Jan 20, 2013 10:47:18 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1323 ms
    Jan 20, 2013 10:47:18 PM org.apache.catalina.users.MemoryUserDatabase save
    WARNING: User database is not persistable - no write permissions on directory
    Jan 20, 2013 10:47:18 PM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Jan 20, 2013 10:47:18 PM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
    Jan 20, 2013 10:47:18 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
    INFO: validateJarFile(/var/lib/tomcat6/webapps/TPCloudJEE/WEB-INF/lib/javaee-api-6.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: ja$
    Jan 20, 2013 10:47:18 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
    INFO: validateJarFile(/var/lib/tomcat6/webapps/TPCloudJEE/WEB-INF/lib/javaee-web-api-6.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class$
    Jan 20, 2013 10:47:18 PM org.apache.catalina.startup.HostConfig deployWAR
    INFO: Deploying web application archive appCloud.war
    Jan 20, 2013 10:47:18 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
    INFO: validateJarFile(/var/lib/tomcat6/webapps/appCloud/WEB-INF/lib/javaee-api-6.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: java$
    Jan 20, 2013 10:47:19 PM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    Jan 20, 2013 10:47:19 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 977 ms

  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
    Déjà, /var/lib/tomcat6/webapps/appCloud/WEB-INF/lib/javaee-api-6.0.jar n'a rien à faire là, retire le de ton WEB-INF/lib.

    Faudrait que tu nous fasse le listing de ton WEB-INF/lib au passage.

    enfin, c'est court, en général c'est plus verbeux que ça. Et surtout si tu as fait un printStackTrace, ça devrais apparaitre dans le catalina.out.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/10/2012, 16h04
  2. Réponses: 1
    Dernier message: 13/07/2010, 14h46
  3. Réponses: 1
    Dernier message: 16/04/2010, 03h05
  4. Réponses: 3
    Dernier message: 19/03/2006, 09h10

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