# Class.forName und CLASSPATH -Problem



## jakob190590 (12. Feb 2010)

Hallo!

ich versuch so verzweifelt meinen Fehler zu finden und hab schon ewig im internet gesucht!

*Datenbankverbindung zu mysql* mit dem mysql Connector/J:

Dateiname des jar-Archivs: "mysql-connector-java-5.1.11-bin.jar"
mein geänderter CLASSPATH: ".;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;c:\mysql-connector-java-5.1.11-bin.jar"
(Der hinzugefügte Dateiname stimmt, archiv liegt zur vereinfachung direkt auf c:  )
in dem archiv ist wie es gehört die datei: "com\mysql\jdbc\Driver.class"

Also der aufruf in meinem javaprog (main-methode):

```
try {
			Class.forName("com.mysql.jdbc.Driver").newInstance(); // newInstance is a work around, i don't know why
		} catch (Exception e) {
			System.out.println("fehler: " + e.getMessage());
			System.out.println(e.toString());
		}
```

ausgabe:
fehler: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver


aber ich verstehs nicht! genauso ist es doch überall beschrieben *verzweifelt*
oder sieht wer meinen fehler?

vielen dank schon mal...


----------



## Murray (12. Feb 2010)

Wie startest du deine Anwendung?


----------



## jakob190590 (12. Feb 2010)

Nachtrag:

ich hab win7

cmd > echo %classpath%
ausgabe:
.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip

*da fehlt der neue pfad!!*

ich hab classpath geändert durch:
systemsteuerung > system > erweiterte systemeinstellungen > Reiter "Erweitert" > Umgebungsvariablen > rahmen "systemvariablen" > CLASSPATH

und diese hat den wert, den ich oben im ersten beitrag gesetzt habe!

(vllt würde "drüber schlafen" (-> neustart von win7) helfen)


----------



## jakob190590 (12. Feb 2010)

Murray hat gesagt.:


> Wie startest du deine Anwendung?


Falls mein Problem jetzt doch nichts mit meiner Entdeckung zu tun hat:
habe die eclipse ide und starte das prog als java-application (die main-methode eben)

nach Systemneustart:
cmd > echo %classpath%
stimmt jetzt (richtige ausgabe, auch mein hinzugefügtes jar-archiv ist jetzt dabei)!

aber beim starten der application immer noch der gleiche fehler "class not found"


----------



## musiKk (13. Feb 2010)

jakob190590 hat gesagt.:


> (vllt würde "drüber schlafen" (-> neustart von win7) helfen)



Mir ist es schon bei XP aufgefallen, dass veränderte Variablen erst nach einem Neustart ins ganze System propagiert werden. Ziemlich nervig... aber das nur nebenbei.

Über die CLASSPATH-Variable zu gehen ist nicht empfehlenswert. Bei Eclipse kannst Du externe JARs doch einfach über den Build Path in den Projekteigenschaften hinzufügen.


----------



## jakob190590 (13. Feb 2010)

Danke musiKk, das funktioniert nun endlich!

Nie wieder CLASSPATH ...


----------

