# mysql-connector-java-5.1.7-bin. jar  in die umgebungsvariable installieren



## Mr.y (20. Feb 2009)

hallo 
hoffe, ihr könnt mir weiter helfen.
ich möchte mysql-connector-java-5.1.7 auf meinen rechner installieren.
ich hab das schon gemacht allerdings unter xp
ich will unter  umgebungsvariablen (Systemvariablen)
dort den connector eintragen. 
Wenn ich dann mein prog starte, kommt der fehler

Exception in thread "main" java.lang.NoClassDefFoundError: Datenbank1
Caused by: java.lang.ClassNotFoundException: Datenbank1
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Drücken Sie eine beliebige Taste . . .

Systemvariable:
name variable: classpath
wert: mysql-connector-java-5.1.7-bin

kein wunder...das der den connector nicht findet, 
aber wenn ich oben schreibe: mysql-connector-java-5.1.7-bin
und unten, wo sich der connector befindet, kommt fehler beim treiber laden



als IDE benutze ich TextPad ( ist was einfaches), keine ahnung, was das beudeten soll
bitte um hilfe, wäre super
danke


----------



## MarcB (20. Feb 2009)

Ähm, du musst den Connector doch nur in den Classpath deiner Anwendung stecken, oder seh ich da was falsch?

Naja, wenn du ganz viele Anwendungen hättest, die alle den Connector brauchen könntest du ihn in dein JRE unter ../lib/ext/ kopieren, aber sonst wüsst ich nicht was du mit installieren meinen könntest.


----------



## Mr.y (20. Feb 2009)

ja genau, hab ich schon gemacht
also ich hab von umgebungsvariablen folgendes:

name der variable: mysql-connector-java-5.1.7-bin
wert                 : C:\Program Files (x86)\Java\jre1.6.0_05\lib\ext

und dann noch

                         classpath
                         mysql-connector-java-5.1.7-bin

irgendwie klappt das net alles


----------



## MarcB (20. Feb 2009)

Wenn der Connector in dem Verzeichnis liegt und das dein aktives JRE (also das das in der Path-Variable steht) ist, brauchst du ihn nicht noch in den Classpath zu packen.

Aus der Exception wird auch nicht deutlich, das der Fehler vom fehlenden DB-Treiber kommen soll. Sicher das der Hund nicht woanders begraben liegt?

Poste, wenn möglich mal ein bischen Code und wie du das Programm aufrufst.


----------



## Mr.y (20. Feb 2009)

wo kann ich den nachgucken, was in der Path-Variable steht ???
ausserdem wo liegt die???
der src ist von der schule....ich hab den connector in der schule genauso eingetragen und es klappte auf anhieb, hier geht gar nix.
am src kanns also nicht liegen...
udn aufrufen?? ich compiliere es fehlerfrei ab..
dann ausführen und kommt das dann...

das einzige was mir sorgen mache, sind die umgebungsvariablen...
hab da rumprobiert...vielleicht hab ich was verstellt...
gibts so ein tutorial oder so, wo das genau beschrieben wird, wie die aussehen sollen???


----------



## MarcB (21. Feb 2009)

Ich glaub jetzt weiss ich was dein Problem ist.

Rechtsklick auf Arbeitsplatz -> Eigenschaften -> Erweitert -> Umgebungsvariablen

Dort hat man dann üblicherweise 2 Umgebungsvariablen:

Variable: JAVA_HOME Wert: "C:\Java\jdk\"
Variable: PATH Wert: "%JAVA_HOME%\bin;%PATH%"

(die Pfade sind natürlich nur als Beispiel gedacht)

Wenn du das hast, musst du nur den MySql Connector in den Classpath deines Programms stecken, das hat mit diesen Umgebungsvariablen überhaupt nichts zu tun (Gut man kann natürlich auch den Classpath systemweit setzen, aber das macht man normalerweise nicht).

Annahme: Du hast deine Klasse (DeineKlasse.class) im Package "deinpackage". In einem Ordner namens "lib" steckt der MySql Connector. Das alles ist im Ordner "ProgrammOrdner".
Struktur:
C:
	- ProgrammOrdner
		-- deinpackage
			--- DeineKlasse.class
		-- lib
			--- mysql-connector-java-5.1.5-bin.jar

Du wechselst im DOS Fenster in den "Programmordner" und machst zum Aufrufen dann folgendes:

```
C:\ProgrammOrdner>java -cp ".\;.\lib\mysql-connector-java-5.1.5-bin.jar;" deinpackage.DeineKlasse
```


----------



## Mr.y (21. Feb 2009)

hallo
danke für deine hilfe
also ich hab

JAVA_HOME
C:\Program Files (x86)\Java\jdk1.6.0_11

CLASSPATH
C:\Program Files (x86)\Java\jre1.6.0_05\lib\ext

Path
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Smart Projects\IsoBuster;%JAVA_HOME\bin

DANN HAB ICH DAS NOCH HINZUGEFÜGT:
mysql-connector-java-5.1.7-bin
C:\Program Files (x86)\Java\jdk1.6.0_11\jre\lib\ext

äähmm...das mit dem dos-fenster hab ich net so recht verstanden^^


hab jetzt irgendwie kein plan, was hin muss und was nicht


----------



## HoaX (23. Feb 2009)

Mr.y hat gesagt.:


> hallo
> danke für deine hilfe
> also ich hab
> 
> ...


das ist ok



Mr.y hat gesagt.:


> CLASSPATH
> C:\Program Files (x86)\Java\jre1.6.0_05\lib\ext


Das ist unfug, lösch diese Variable. Die JRE setzt den Standardclasspath von selbst.



Mr.y hat gesagt.:


> Path
> %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Smart Projects\IsoBuster;%JAVA_HOME\bin


ok



Mr.y hat gesagt.:


> DANN HAB ICH DAS NOCH HINZUGEFÜGT:
> mysql-connector-java-5.1.7-bin
> C:\Program Files (x86)\Java\jdk1.6.0_11\jre\lib\ext


ganz grober unfug, weg damit. Vor allem _nie_ etwas eigenes in lib/ext kopieren!

Wenn du eine IDE benutzt, dann trag die Lib dort in den Classpath ein. Wenn du keine benutzt dann gib den Classpath beim starten mit an: java -cp lib1.jar;lib2.jar;lib/lib4.jar die.main.klasse


----------



## Mr.y (24. Feb 2009)

ja also
ich hab nun "classpath"
                "pfad wo der connector liegt"
und es kommt ein anderer fehler, bzw ne meldung
Fehler beim Laden des Treibersjava. lang. ClassNotFoundException: com.mysql.jdbc.Driver
heisst es, dass ich noch was zusätzlich laden soll????


----------



## HoaX (25. Feb 2009)

Mr.y hat gesagt.:


> ja also
> ich hab nun "classpath"
> "pfad wo der connector liegt"


Wo hast du das? Und was?



Mr.y hat gesagt.:


> und es kommt ein anderer fehler, bzw ne meldung
> Fehler beim Laden des Treibersjava. lang. ClassNotFoundException: com.mysql.jdbc.Driver
> heisst es, dass ich noch was zusätzlich laden soll????


Das bedeutet einfach dass die Klasse nicht gefunden wurde. "Class not found" ...


----------



## homer65 (25. Feb 2009)

Übrigens hatt die Fehlermeldung überhaupt nichts mit dem MySQL Connector zu tun. Die Klasse Datenbank1 steckt da nicht drin.


----------



## HoaX (25. Feb 2009)

homer65 hat gesagt.:


> Übrigens hatt die Fehlermeldung überhaupt nichts mit dem MySQL Connector zu tun. Die Klasse Datenbank1 steckt da nicht drin.


es geht um "ClassNotFoundException: com.mysql.jdbc.Driver" ... musst den Thread schon zuende lesen!


----------



## Mr.y (25. Feb 2009)

ja also, ich hab folgende dateien im xampp/htdocs   ordner liegen:

[HIGHLIGHT="Java"]import java.sql.*;

public class Datenbank2
{
    public static void main(String argv[] )
    {
     Connection dbVerbindung=null;


     try
      {
       Class.forName("com.mysql.jdbc.Driver");
         System.out.println("Treiber erfolgreich geladen...");
     }//try
     catch(ClassNotFoundException e)
     {
       System.out.println("Fehler beim laden des Treibers"
                           +e);
       System.exit(0);//Abbruch des Programm
     }// catch(ClassNotFoundException e)


     try
     {
       dbVerbindung = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
       System.out.println("Verbindung erfolgreich...");
       dbVerbindung.close();
       System.out.println("Verbindung geschlossen...");
     }//try
     catch(SQLException e)
     {
       System.out.println("DB-Verbindung Fehler: "+e);
       System.exit(0);
     }// catch(SQLException e)
   }// public static void main(String argv[]  )
 }// public class DatenbankVersion2[/HIGHLIGHT]
wenn man dieses prog auf der console ausführt, sollte kommen "treiber erfolgreich geladen"

ja und den connector hab ich im gleichen ordner liegen (xampp/htdocs)

bei der umgebungsvariable hab ich geschrieben:

classpath
xampp/htdocs (also wo der connector liegt)

vielleicht brauch ich irgendwelche jdbc Driver...


----------



## HoaX (26. Feb 2009)

Das mysql-connector-java.5.1.7-bin.jar enthält den jdbc-Treiber.

Wie setzt du classpath? 

Mal ganz einfach mit "java -cp mysql-connector-java.5.1.7-bin.jar;. Datenbank2" probiert?


----------



## Mr.y (26. Feb 2009)

> Mal ganz einfach mit "java -cp mysql-connector-java.5.1.7-bin.jar;. Datenbank2" probiert?



nee hab keine ahnung was das jetzt bedeuten soll^^
eigentlich ist es so, dass ich den treiber für jedes prog laden muss wo ich mysql abfrage benötige
geschrieben hab ich einfach: umgebungsvariable: classpath
                                       wert:                    da wo datenbank2 liegt


----------

