ClassNotFoundException com.mysql.jdbc.Driver

Esta pregunta podría haber preguntado aquí varias veces. Después de hacer alguna búsqueda en google por el error anterior y hacer alguna actualización, no puedo entender por qué sigo recibiendo ese error. Ya puse mi controlador– mysql-connector-java-5.1.5-bin en el classpath:

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

y el código que estoy usando para conectarme a la base de datos mysql es:

 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(); } } 

y el stacktrace completo de la excepción anterior es:

 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) 

Ahora, ¿qué está mal que estoy haciendo aquí?

La causa más común es que tiene algún conflicto sobre dónde se cargan sus clases. Por ejemplo, si tiene 2 ubicaciones y una tiene controladores JDBC y la otra no, entonces si su cargador de clases se carga desde la 1ra ubicación y alguna clase de la 1ra ubicación quiere usar el controlador, el controlador no está allí. Así que busque los JAR duplicados que están usando su controlador

Si enfrentas este problema con Eclipse, he seguido muchas soluciones diferentes, pero la que funcionó para mí es la siguiente:

  1. Haga clic derecho en la carpeta de su proyecto y abra Propiedades.

  2. Desde el panel derecho, seleccione Java Build Path y luego vaya a la pestaña Bibliotecas.

  3. Seleccione Agregar JAR externos para importar el controlador mysql.

  4. En el panel derecho, selecciona Montaje de implementación.

  5. Seleccione Agregar …, luego seleccione Entradas de ruta de comstackción Java y haga clic en Siguiente.

  6. Debería ver el controlador sql en la lista. Seleccione y haga clic primero.

¡Y eso es! Intenta ejecutarlo de nuevo! ¡Aclamaciones!

Yo también luché con el mismo problema y finalmente obtuve la solución para ello. Simplemente copie MySql-Connector.jar en la carpeta lib de Tomcat, y luego retire el archivo jar de la carpeta lib de la aplicación web y luego, ejecute el proyecto.

Tengo el mismo problema, pero lo encontré después de una larga búsqueda: http://www.herongyang.com/JDBC/MySQL-JDBC-Driver-Load-Class.html

Pero hice algunos cambios. Puse el controlador en la misma carpeta que mi archivo ConTest.java y lo ConTest.class , lo que dio como resultado ConTest.class .

Entonces, en esta carpeta,

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

y escribo esto

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

De esta forma si no usas ningún IDE, solo tienes que usar cmd en windows o shell en linux.

esta ans es para usuario de eclipse ……

Primero, compruebe que el archivo jdbc jar se agrega en las bibliotecas de Ear ….

en caso afirmativo, compruebe … en contenido web-> carpeta web Inf-> lib

y pasado aquí jdbc archivo jar en la carpeta lib …..

¿Qué pones exactamente en lib , jre/lib o jre/lib/ext ? ¿Era el contenedor mysql-connector-java-5.1.5-bin.jar u otra cosa (como un directorio)?

Por cierto, no lo pondría en lib , jre/lib o jre/lib/ext , hay otras maneras de agregar un jar al classpath. Puede hacerlo agregando explícitamente la variable de entorno CLASSPATH. O puede usar la opción -cp de java . Pero esta es otra historia.

Si está utilizando NetBeans, siga los siguientes pasos:

  1. Haga clic derecho en ‘Bibliotecas’ y seleccione ‘Agregar biblioteca …’
  2. Desplácese hacia abajo en la lista de ‘Bibliotecas globales’ y seleccione ‘Controlador JDBC de MySQL’ y haga clic en ‘Agregar biblioteca’.

En NetBeans,

  1. haga clic derecho en las bibliotecas, seleccione properties
  2. seleccionar la pestaña rub
  3. allí debes agregar el mysql-connector-java.jar y aplicar

1) Descargar el conector desde aquí https://www.mysql.com/products/connector/

2) Seleccione el controlador JDBC para mysql

3) haga clic en Plataforma Independiente (Arquitectura Independiente), Archivo ZIP

4) Descarga el archivo y descomprímelo

5) (Para Eclipse) Haga clic en Proyecto-> Propiedades-> Ruta de creación de Java-> Bibliotecas (para Netbeans) haga clic con el botón secundario en bibliotecas en la barra izquierda-> agregar tarro

6) Haga clic en agregar jar externo

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

8) ¡Hecho!

Ok, encuentro solución cambiando la ruta de mysql-conector-java.jar a la siguiente ruta:

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

Entonces necesita agregar el conector para proyectar nuevamente y eliminar el anterior.

Deberías descargar el conector MariaDB .
Entonces:

  1. Expande tu proyecto.
  2. Haga clic derecho en Libraries .
  3. Seleccione Add Jar/Folder .
  4. Agregue mariadb-java-client-2.0.2.jar que acaba de descargar.

En netbean Haga clic derecho en su proyecto, luego haga clic en Bibliotecas, luego en la pestaña Ejecutar, agregue la biblioteca, luego seleccione el conector mysql

Guardo el contenedor mysql-connector con mi proyecto en lugar de hacerlo en Javahome. Como resultado, puede estar seguro de que se puede encontrar asegurándose de que esté en el classpath local. Un gran beneficio es que usted puede más el proyecto a otra máquina y no tener que preocuparse (u olvidar) de configurarlo de nuevo. Personalmente me gusta incluirlo en el control de versiones.

Ok..Puede que también puedo contribuir con mi solución .. Haz clic derecho en project -properties -> Despliegue ensamblado … allí necesitas agregar el mysql-connector-java.jar y aplicarlo … lo que hace que tu pin configurado con web-Libraries que tiene este conector sql … Esto funcionó para mí .. Espero que esto funcione para ustedes también

Lo único que funcionó para mí fue descargar mysql-connector-java-5.0.8-bin.jar directamente desde el sitio web de MySQL:

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

Luego, si está usando Eclipse, pegue este mysql-connector-java-5.0.8-bin.jar en la carpeta lib de WEB-INF

Si no funciona, intente con cualquiera de las soluciones publicadas en este enlace: http://javarevisited.blogspot.com/2012/03/jdbc-javalangclassnotfoundexception.html

La mayor parte de la posible solución se ha cubierto anteriormente. Desde mi experiencia con este tema, coloqué el mysql-connector-jar en la carpeta / WEB-INF / lib del módulo webapp y funcionó bien para mí.

Experimenté el mismo error después de actualizar mi Java a 1.8.0_101. Prueba esto: i. Elimina mysql.jar de tu ruta de comstackción. ii. Limpiar el servidor y el proyecto iii. Agregue el archivo jar a la ruta de comstackción.

Trabajó para mi.

Simplemente copie el archivo jar de la unidad JDBC de MySQL y péguelo en Tomcat o en la carpeta lib del servidor. Esto funciona para mi.

simplemente copie y pegue el contenedor mysqlconnector en la carpeta del proyecto y luego compile la ruta, definitivamente funcionará.

En IntelliJ Do, como dicen en eclipse “Si se enfrenta a este problema con Eclipse, he seguido muchas soluciones diferentes, pero la que funcionó para mí es la siguiente:

Haga clic derecho en la carpeta de su proyecto y abra Propiedades.

Desde el panel derecho, seleccione Java Build Path y luego vaya a la pestaña Bibliotecas.

Seleccione Agregar JAR externos para importar el controlador mysql.

En el panel derecho, selecciona Montaje de implementación.

Seleccione Agregar …, luego seleccione Entradas de ruta de comstackción Java y haga clic en Siguiente.

Debería ver el controlador sql en la lista. Seleccione y haga clic primero.

¡Y eso es! Intenta ejecutarlo de nuevo! ¡Aclamaciones!”

Aquí tenemos que agregar el archivo jar en Estructura del proyecto -> Bibliotecas -> + (agregar)

velar por que el argumento de la Clase. El método forName es exactamente “com. mysql. jdbc. Driver”. En caso afirmativo, asegúrese de que el conector mysql esté presente en la carpeta lib del proyecto. Si es así, asegúrese de que el mismo conector mysql. archivo jar está en la variable ClassPath (variable de sistema) ..