sábado, 21 de mayo de 2011

Driver MySQL JDBC para Java en Ubuntu

En el post de hoy voy a explicar como evitar el error que se muestra a continuación para cuando queremos acceder usando JDBC a una base de datos MySQL desde Java.

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
...
He leido muchas formas de solucionar este problema por Internet, la mayoría de ellas hablan de descargar el driver e incluir el archivo en el CLASSPATH, pero a mi esta forma no me ha funcionado. Aunque por lo que he leido la forma que voy a explicar no es la óptima, por lo menos a mi me funciona.

Lo primero que debemos hacer es descargar el archivo .jar que contiene el driver MySQL JDBC para Java necesario, al ser un archivo Java es el mismo para cualquier plataforma. Podéis descargarlo de la página oficial de MySQL. Descomprimimos el archivo y copiamos el archivo mysql-connector-java-X.X.XX.jar en la carpeta del jre situada en un path como este:

/usr/lib/j2sdj1.5-sun/jre/lib/ext


Para copiar el archivo necesitamos permisos de administrador, así que ejecutamos lo siguiente en una consola:

sudo cp ./mysql-connector-java-X.X.XX.jar /usr/lib/j2sdj1.5-sun/jre/lib/ext


Listo, con esto en principio ya podríamos ejecutar nuestros programas java sin que nos de el error anterior.
Si aún así te sigue dando el mismo error puedes probar a instalar el siguiente paquete:

sudo apt-get install libmysql-java


De esta forma ya hemos solucionado el problema del driver MySQL JDBC para Java en Ubuntu.

Fuente | Ubuntu Forums

2 comentarios:

  1. ya instale todo lo anterior y todavia no me funciona que puedo hacer

    ResponderEliminar
  2. A mi me funciono en windows y en linux de la manera que tu lo dices :D

    ResponderEliminar

Deja tu opinión realizando un comentario interesante. Cualquier intento de Spam no será admitido.