Foros del Web » Programación para mayores de 30 ;) » Java »

Que hago?: ClassNotFoundException :(

Estas en el tema de Que hago?: ClassNotFoundException :( en el foro de Java en Foros del Web. Hola a todos: Relativamente, tengo poco metido en java, y aunque ya comprendi bastantes cosas hay otras que son nuevas para mi ( Por el ...
  #1 (permalink)  
Antiguo 26/11/2005, 09:51
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Que hago?: ClassNotFoundException :(

Hola a todos:

Relativamente, tengo poco metido en java, y aunque ya comprendi bastantes cosas hay otras que son nuevas para mi ( Por el cambio tan drastico de programacion por ejemplo ), quice poner a prueba el ejemplo #7 de las FAQ's, que muestra la forma de realizar una coneccion con MySql.

El caso es que ajuste todo segun mi servidor mysql, base de datos, campos, usuario, password.. y al ejecutar la clase me arroja el error: ClassNotFoundException

Comprendo con esto que no existe clase alguna, mi pregunta es que hacer en este caso ?

Por adelantado, Gracias !
  #2 (permalink)  
Antiguo 26/11/2005, 10:34
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Si pudieras poner el codigo que estas usando y la pila completa de error seria mas facil darte una respuesta contundente. Pero segun parece no encuentra el driver JDBC para la conexion a tu MySQL. Estas seguro de haber bajado el driver de la web oficial de MySQL www.mysql.com?? y ademas tener este driver puesto en el CLASSPATH de tu maquina??

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 26/11/2005, 11:03
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
Como te lo habia comentado, es el ejemplo 7 de las faqs de java, es el siguiente:

Código:
import java.sql.*;

public class coneccionMysql
{
	static String bd = "dangermx";
	static String login = "root";
	static String password = "mipassword";
	static String url = "jdbc:mysql://localhost/" + bd;
	
	
	public static void main(String[] args)throws Exception
	{
		Connection conn = null;
		try
		{
			//ESTABLECEMOS LA CONECCION
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			conn = DriverManager.getConnection(url,login,password);
			
			if (conn != null)
			{
				System.out.println("Conexión a base de datos " + url + " ... Ok");
				
				//HACEMOS UNA CONSULTA
				Statement stmt = conn.createStatement();
				ResultSet res  = stmt.executeQuery("SELECT * FROM carreras");
				
				while(res.next())
				{
					String Id  = res.getString("id");
					String Carrera   = res.getString("nick");
					String Facultad= res.getString("comentario");
					
					System.out.println(Id +" \t "+Carrera+" \t "+Facultad);
				}
				
				res.close();
				stmt.close();
				conn.close(); 
			}
		}
		catch(SQLException ex)
		{
			System.out.println("\n\nHubo un error : "+ex);
		}
		catch(ClassNotFoundException ex)
		{
			System.out.println("\n\nHubo otro error!!, no se encontro el driver :(\n");
			System.out.println(ex);
		}
		
	}
}
ahora, se compila correctamente, al ejecutarlo, me manda el siguiente error:

Hubo otro error!!, no se encontro el driver :(
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver


Bien ahora, fue a mysql.com, y me descargue mysql-connector-java-3.1.11, descomprimi el ZIP, y la carpeta com la puse en el directorio C:/Documents%20and%20Settings/Danger/, que es donde defini mi CLASSPATH desde un principio, vuelvo a compilar, y a ejecutar y me devuelve el mismo ERROR.

Asi que agrego lo siguiente: import com.mysql.jdbc.*;, y al querer compilar me arroja una millonada de errores :(.

Por favor, alguien deme una respuesta.

Gracias !
  #4 (permalink)  
Antiguo 26/11/2005, 11:10
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Debes poner el .jar del driver en tu CLASSPATH directamente. Todo el error es que no esta encontrando el driver, si lo poner en el CLASSPATH tu problema se habra resuelto, por lo menos este...

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 26/11/2005, 11:19
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
El mismo error sigue, ya he copiado todo el directorio SRC del zip mysql en el classpath, y tambien el archivo jar que viene, y me sigue dando el mismo error

Ayuda por favor.
  #6 (permalink)  
Antiguo 26/11/2005, 11:22
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Agrega el JAR a tu CLASSPATH, no los archivos a la carpoeta donde este apunta, entra en la configuracion de tus variables de entorno y pon la ruta completa al .jar del driver.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #7 (permalink)  
Antiguo 26/11/2005, 11:31
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
ok, modifique la variable de entorno, quedo asi:

nombre--> CLASSPATH
valor--> C:\Documents and Settings%\Danger\mysql-connector-java-3.1.11-bin.jar;.

reinicio el ms-dos, compilo nuevamente, y ejecuto, el error sigue apareciendo
  #8 (permalink)  
Antiguo 26/11/2005, 11:36
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
he vuelto a modificar la variable asi:

nombre--> CLASSPATH
valor--> C:\Documents and Settings%\Danger;C:\Documents and Settings%\Danger\mysql-connector-java-3.1.11-bin.jar;.

reinicio ms-dos, compilo, y al ejecutar me devuelve esto:

Exception in thread "main" java.lang.NoClassDefFoundError: coneccionMySql
  #9 (permalink)  
Antiguo 27/11/2005, 09:37
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 9 meses
Puntos: 2
es definitivamente el CLASSPATH, esta incorrecto. Para separar varias direcciones creo que se usa : (dos puntos).
  #10 (permalink)  
Antiguo 27/11/2005, 10:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
En windows los diferentos elementos se separan con punto y coma, con dos puntos es en unix. Prueba a escribirlo asi:
"C:\Documents and Settings\Danger;C:\Documents and Settings\Danger\mysql-connector-java-3.1.11-bin.jar";.

El problema pueden ser los espacios en blanco y los %, que no se que hacen ahi
  #11 (permalink)  
Antiguo 27/11/2005, 14:12
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 9 meses
Puntos: 2
cierto, green tiene razon...hace algun tiempo que no programo en Windows
  #12 (permalink)  
Antiguo 27/11/2005, 15:37
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias GreenEyed, definitivamente era eso .

Saludos !
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:20.