ClassNotFoundException en Tomcat

Jordi
29 de Marzo del 2004
Hola!

Estoy desarroyando mi Proyecto de Final de Carrera sobre aplicaciones JSP en Tomcat, y durante esta semana he acabado de configurar mi Servidor en Linux. Usaré JAVA, Tomcat y MySQL. El problema que tengo es que durante las pruebas, he hecho un servlet muy simple, que lo único que hace es conectarse a una BD, "test" y devuelve OK si lo ha conseguido. Pues bien, la aplicación en cónsola lo logra correctamente, pero un simple servlet con el mismo comando de apertura de driver JDBC (Connector/J 3.0.11) me deja un error de ClassNotFoundException en el "catalina.out". Ahora no tengo el repport, porque estoy en el trabajo, pero era del com.sql.jdbc.Driver o algo así. Mi duda es porqué en la ejecución en cónsola no salta el error en tiempo de ejecución pero en el Tomcat si...

Espero haberme explciado bien, y muchas gracias a todos!!!

Jordi

fredlankovich
29 de Marzo del 2004
Fijate si tienes el archivo .jar del mysql en el classpath, o en el directorio WEB-INF/lib de tu aplicacion

Jordi
29 de Marzo del 2004
Hola, muchas gracias por responder tan rápido!

Tengo el archivo "mysql-connector-java-3.0.11-stable-bin.jar" en el Classpath, que es el Connector/J para el MySQL. El siguiente código es el test del que os hablaba, muy simple.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestMysql
{
public static void main(String args[]) {
try {
/* Test loading driver */

String driver = "com.mysql.jdbc.Driver";

System.out.println( "n=> loading driver:" );
Class.forName( driver ).newInstance();
System.out.println( "OK" );

/* Test the connection */

String url = "jdbc:mysql://localhost/test";

System.out.println( "n=> connecting:" );
DriverManager.getConnection( url, "", "" );
System.out.println( "OK" );
}
catch( Exception x ) {
System.err.println( x );
}
}
}

Como ves, realizo una conexión y pruebo el contacto con MySQL. Pero por otrol ado, el error que me da el Tomcat, mediante el log "catalina.out" sigue siendo:

Mar 24, 2004 12:15:18 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 20418 ms
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
java.lang.NullPointerException

La conexión la relaizo del mismo modo que en el código anterior, solo que ese lo ejecuto en cónsola y este error es de la aplicación web...

Llevo varios días así y no logro ver el qué... :(

Muchas gracias por tu y vuestra inestimable ayuda!

Jordi

fredlankovich
29 de Marzo del 2004
En tonces prueba poner el archivo jar en el directorio WEB-INF/lib de tu aplicación web. O si no te funciona, tranta de ponerlo en %CATALINA_HOME%/common/lib y reinicia tomcat