ClassNotFoundException com.mysql.jdbc.Driver

Questa domanda potrebbe essere stata chiesta qui numero di volte. Dopo aver fatto qualche ricerca su google per l’errore sopra riportato e fatto un aggiornamento, non riesco a capire perché sto ancora ricevendo quell’errore. Ho già inserito il mio driver: mysql-connector-java-5.1.5-bin nel classpath:

Java_Home\jre\lib\ Java_Home\jre\lib\ext\ Java_Home\lib 

e il codice che sto usando per connettersi al database mysql è:

 try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root",""); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select message_body from deadletter"); String dbtime; while (rs.next()) { dbtime = rs.getString(1); System.out.println(dbtime); } con.close(); } catch (SQLException e) { System.out.println("Connection Failed! Check output console"); e.printStackTrace(); } } 

e lo stacktrace completo dell’eccezione sopra è:

 java.lang.ClassNotFoundException: com.mysql.jdbc:Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at mail.main(mail.java:114) 

Ora, cosa c’è che non va qui?

La causa più comune è che hai qualche conflitto in cui vengono caricate le tue classi. Ad esempio se hai 2 sedi e una ha i driver JDBC e l’altra no se il classloader viene caricato dalla prima posizione e una class dalla prima posizione desidera utilizzare il driver – il driver non è lì. Quindi cerca i JAR duplicati che stanno usando il tuo driver

Se stai affrontando questo problema con Eclipse, ho seguito molte soluzioni diverse ma quella che ha funzionato per me è questa:

  1. Fare clic con il pulsante destro del mouse sulla cartella del progetto e aprire Proprietà.

  2. Dal pannello di destra, selezionare Java Build Path quindi vai alla scheda Librerie.

  3. Selezionare Aggiungi JAR esterni per importare il driver mysql.

  4. Dal pannello di destra, selezionare Deployment Assembly.

  5. Selezionare Aggiungi …, quindi selezionare Java Build Path Entries e fare clic su Avanti.

  6. Dovresti vedere il driver sql sulla lista. Selezionalo e fai clic per primo.

E questo è tutto! Prova a eseguirlo di nuovo! Saluti!

Anch’io ho faticato con lo stesso problema e finalmente ho trovato la soluzione. Basta copiare MySql-Connector.jar nella cartella lib di Tomcat, quindi rimuovere il jar dalla cartella lib di webapp e quindi eseguire il progetto.

Ho lo stesso problema ma ho trovato questo dopo una lunga ricerca: http://www.herongyang.com/JDBC/MySQL-JDBC-Driver-Load-Class.html

Ma ho fatto qualche cambiamento. Metto il driver nella stessa cartella del mio file ConTest.java e lo compilo, risultando in ConTest.class .

Quindi in questa cartella hanno

 ConTest.class mysql-connector-java-5.1.14-bin.jar 

e io scrivo questo

 java -cp .;mysql-connector-java-5.1.14-bin.jar ConTest 

In questo modo se non usi alcun IDE solo cmd in windows o shell in linux.

questo è per l’utente di eclipse ……

per prima cosa controlla che il file jar jdbc sia aggiunto nelle librerie Ear ….

se sì … quindi controllare … nel contenuto Web-> cartella Web Inf-> lib

e passato qui jdbc jar file nella cartella lib …..

Cosa hai inserito esattamente in lib , jre/lib o jre/lib/ext ? Era il jar mysql-connector-java-5.1.5-bin.jar o qualcos’altro (come una directory)?

A proposito, non lo metterei in lib , jre/lib o jre/lib/ext , ci sono altri modi per aggiungere un jar al classpath. Puoi farlo aggiungendo esplicitamente la variabile d’ambiente CLASSPATH. Oppure puoi usare l’opzione -cp di java . Ma questa è un’altra storia.

Se si utilizza NetBeans, attenersi alla seguente procedura:

  1. Fai clic con il tasto destro su “Librerie” e seleziona “Aggiungi libreria ..”
  2. Scorri verso il basso l’elenco di “Librerie globali” e seleziona “Driver JDBC MySQL” e fai clic su “Aggiungi libreria”.

In NetBeans,

  1. fare clic destro su librerie, selezionare properties
  2. seleziona la scheda rub
  3. qui è necessario aggiungere mysql-connector-java.jar e applicare

1) Scarica il connettore da qui https://www.mysql.com/products/connector/

2) Seleziona il driver JDBC per mysql

3) fare clic su Platform Independent (Architecture Independent), ZIP Archive

4) Scarica il file e decomprimilo

5) (Per Eclipse) Fare clic su Project-> properties-> Java Build Path-> Libraries (per Netbeans) librerie con clic destro sulla barra sinistra-> aggiungi jar

6) Fare clic su Aggiungi jar esterno

7) selezionare mysql-connector-java-5.1.40-bin.jar

8) Fatto!

Ok, trovo la soluzione cambiando il percorso di mysql-conector-java.jar al seguente percorso:

 ProjectName/WebContent/Web-inf/lib/mysql-conector-java.jar 

Quindi è necessario aggiungere la conector per proiettare di nuovo ed eliminare quello precedente.

Dovresti scaricare il connettore MariaDB .
Poi:

  1. Espandi il tuo progetto.
  2. Fare clic con il tasto destro su Libraries .
  3. Seleziona Add Jar/Folder .
  4. Aggiungi mariadb-java-client-2.0.2.jar che hai appena scaricato.

In netbean Fare clic con il tasto destro del mouse sul progetto, quindi fare clic su Librerie, quindi su Esegui scheda, aggiungi libreria, quindi selezionare il connettore mysql

Tengo il jar mysql-connector con il mio progetto piuttosto che in Javahome. Di conseguenza, si può essere sicuri che possa essere trovato assicurandosi che sia nel classpath locale. Un grande vantaggio è che si può più il progetto su un’altra macchina e non si deve preoccupare (o dimenticare) di ricominciare da capo. Personalmente mi piace includerlo nel controllo della versione.

Ok .. posso essere anche io a contribuire con la mia soluzione .. Fare clic con il tasto destro del mouse su project -proprietà -> Deployment assembly … lì è necessario aggiungere il mysql-connector-java.jar e applicarlo … il che rende il tuo prject configurato con web-Libraries che ha questo connettore sql … Questo ha funzionato per me .. Spero che questo funzioni anche per voi ragazzi

L’unica cosa che ha funzionato per me è stato il download del mysql-connector-java-5.0.8-bin.jar direttamente dal sito web MySQL:

http://dev.mysql.com/downloads/connector/j/3.1.html

Quindi se stai usando Eclipse, incolla questo mysql-connector-java-5.0.8-bin.jar nella cartella lib WEB-INF

Se non funziona prova con una qualsiasi delle soluzioni pubblicate in questo link: http://javarevisited.blogspot.com/2012/03/jdbc-javalangclassnotfoundexception.html

La maggior parte delle possibili soluzioni è stata trattata sopra. Dalla mia esperienza di questo problema, ho inserito il mysql-connector-jar nella cartella / WEB-INF / lib del modulo webapp e ha funzionato bene per me.

Ho riscontrato lo stesso errore dopo aver aggiornato il mio java a 1.8.0_101. Prova questo: i. Rimuovi mysql.jar dal tuo percorso di costruzione. ii. Pulire il server e il progetto iii. Aggiungi il file jar al percorso di generazione.

Ha funzionato per me

Basta copiare il file jar JDBC di MySQL e incollarlo in Tomcat o qualunque altra cartella lib del server. Per me funziona.

basta copiare e incollare il jar mysqlconnector nella cartella del progetto e quindi creare il percorso che funzionerà sicuramente.

In IntelliJ Fai come si dice in eclipse “Se stai affrontando questo problema con Eclipse, ho seguito molte soluzioni diverse ma quella che ha funzionato per me è questa:

Fare clic con il pulsante destro del mouse sulla cartella del progetto e aprire Proprietà.

Dal pannello di destra, selezionare Java Build Path quindi vai alla scheda Librerie.

Selezionare Aggiungi JAR esterni per importare il driver mysql.

Dal pannello di destra, selezionare Deployment Assembly.

Selezionare Aggiungi …, quindi selezionare Java Build Path Entries e fare clic su Avanti.

Dovresti vedere il driver sql sulla lista. Selezionalo e fai clic per primo.

E questo è tutto! Prova a eseguirlo di nuovo! Saluti!”

Qui dobbiamo aggiungere il file jar in Struttura del progetto -> Librerie -> + (aggiungi)

fare in modo che l’argomento di Class. Il metodo forName è esattamente “com. mysql. jdbc. Driver”. In caso affermativo, verificare che il connettore mysql sia presente nella cartella lib del progetto. se sì, controlla che lo stesso connettore mysql. il file jar è nella variabile ClassPath (variabile di sistema) ..