• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

JDBC-Treiber wird nicht gefunden

Registriert
19.01.07
Beiträge
116
Für eine DB-Anbindung mit Java habe ich einen JDBC-Treiber installiert: es handelt sich um den Connector J für MySQL.
Ich habe die .jar-Datei in folgenden Ordner kopiert: HD/Library/Java/Extensions
Außerdem habe ich die .jar-Datei mit Eclipse in das Projekt eingebunden:
-Project - Properties - Java Build Path - Add JARs...

Die Ausführung des Programmes klappt innerhalb von Eclipse einwandfrei.
Probleme gibt es nur beim Programmstart im Terminal.
Weiß jemand von Euch wieso das Laden des Treiber vom Terminal aus nicht klappt?:innocent:
 

ulukaii

Idared
Registriert
22.02.07
Beiträge
28
Was übergibst Du dem Programm den an Argumenten? Poste doch bitte mal den Programmaufruf aus der Konsole à la...

Code:
java [java_arg0, ...] de.mypackage.MyClass [arg0, ...]

Schon mal als Tipp: Auch wenn Du den Treiber in das OS X Verzeichnis geschoben hast, so musst du die Jar-Datei mit beim Aufruf angeben, sofern sie nicht im Classpath enthalten ist.
 
Registriert
19.01.07
Beiträge
116
Ich wechsle mit cd ..... in den jeweiligen Ordner und rufe das Programm mit

java mysql/Bundeslaender auf.

'mysql' ist das package und 'Bundeslaender' die compilierte class-Datei.

Der Code zum Laden des Treibers sieht so aus:

try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Treiber wurde erfolgreich geladen!");
}
catch (ClassNotFoundException e){
System.out.println("Fehler beim Laden des JDBC-Treibers");
return;
}


Im Terminal wird 'Fehler beim Laden des JDBC-Treibers' ausgegeben; d.h. dass das Programm gestartet wurde, aber der Treiber nicht gefunden wurde.
 
Registriert
19.01.07
Beiträge
116
Mir ist nicht klar was mit Classpath gemeint ist. Bedeutet es, dass ich die JAR-Datei in den Ordner kopiere, in der sich die Class-Datei befindet? - Bei mir also der Package-Order 'mysql'.
 

ulukaii

Idared
Registriert
22.02.07
Beiträge
28
1. Beinhaltet die Klasse "Bundeslaender" diese Deklaration:

Code:
package mysql;

Wenn ja, dann solltest Du Sie wie folgt aufrufen:

Code:
java mysql.Bundeslaender

Siehe auch http://www.apfeltalk.de/forum/java-verwendung-package-t42756-2.html#post787559

2. Der Classpath gibt den Ort an, an dem Java nach benötigten Bibilotheken suchen soll. Einfach mal "java" in die Konsole eingeben und die Argumente begutachten:

Code:
Usage: java [-options] class [args...]
...
    -classpath <class search path of directories and zip/jar files>
                  A : separated list of directories, JAR archives,
                  and ZIP archives to search for class files.

3. Insgesamt müsste Dein Aufruf etwa so aussehen:

Code:
java -classpath /path/to/rdms-connector-java-x.y.z.jar mysql.Bundeslaender
 

ulukaii

Idared
Registriert
22.02.07
Beiträge
28
Würde mich mal interessieren, ob es jetzt bei Dir geklappt hat ;)
 
Registriert
19.01.07
Beiträge
116
Hallo Ulukaii!

Also erst mal ein dickes Dankeschön für Deine Antworten! Da ich gerade auf Reisen bin konnte ich Dir nicht anworten. Sitze gerade in einem neapolitanischen Internet Cafee. Sobald ich wieder im Lande bin, werde ich mich melden!

Viele Grüße!
Aaron Horowitz
 

ulukaii

Idared
Registriert
22.02.07
Beiträge
28
hey.

dann mal einen schöen Urlaub bzw. schöne Reise.
In der Heimat ist es übrigens gerade ganz heiß, heiß, heiß... :p