2011-11-12 5 views
3

J'essaie d'obtenir mon programme Java pour parler à une base de données MySQL.Java-JDBC-MySQL Erreur

J'ai donc lu et téléchargé MySQL Connector/J. Je l'ai extrait dans mon répertoire personnel ~. Voici le contenu.

[email protected]:~$ ls 
LoadDriver.class LoadDriver.java mysql-connector-java-5.1.18-bin.jar 

Le contenu de LoadDriver.java sont

[email protected]:~$ cat LoadDriver.java 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
// Notice, do not import com.mysql.jdbc.* 
// or you will have problems! 

public class LoadDriver { 
    public static void main(String[] args) { 
     try { 
      // The newInstance() call is a work around for some 
      // broken Java implementations 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     } catch (Exception ex) { 
      System.out.println(ex); 
     } 
    } 
} 

le contenu est le même de http://dev.mysql.com/doc/refman/5.1/en/connector-j-usagenotes-basic.html#connector-j-usagenotes-connect-drivermanager avec le seul changement que l'exception est en cours d'impression à la console dans le bloc de prises.

Je compilez comme suit

[email protected]:~$ javac LoadDriver.java 

Lorsque je tente de l'exécuter, ce qui suit est le ouput.

[email protected]:~$ java LoadDriver 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

Cette sortie est compatible avec la commande d'exécution, mais en essayant de courir avec la méthode prescrite CLASSPATH je courir dans la question suivante.

[email protected]:~$ java -cp /home/leonard/mysql-connector-java-5.1.18-bin.jar LoadDriver 
Exception in thread "main" java.lang.NoClassDefFoundError: LoadDriver 
Caused by: java.lang.ClassNotFoundException: LoadDriver 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
Could not find the main class: LoadDriver. Program will exit. 

Ai-je raté quelque chose? Comment obtenir les échantillons de code de MySQL en cours d'exécution.

+0

J'ai essayé en réglant la variable d'environnement '$ CLASSPATH' mais il me donne la même erreur – LeonardPeris

+0

@ brunopereira81 Je sentais que c'était une fois Ubuntu bizarrerie spécifique ... – LeonardPeris

+0

' java -cp. LoadDriver' renvoie le même défaut? –

Répondre

2

Vous devez avoir à la fois le fichier jar et le répertoire en cours sur le chemin de classe.

java -cp .:/home/leonard/mysql-connector-java-5.1.18-bin.jar LoadDriver