Apache Derby wird in Eclipse trotz Anbindung nicht gefunden

PeterHaase

Neues Mitglied
Hallo Zusammen,

ich hoffe sehr, von euch Hilfe zu bekommen. Anscheinend bin ich zu blind um meinen eigenen Fehler zu finden.

Problem: Java / Eclipse meldet mir beim Start des Programms zurück, dass die Klasse org.apache.derby.jdbc.EmbeddedDriver nicht gefunden werden kann.

Ich kann diese Meldung nicht ganz verstehen, denn:
- ich habe die Installation gemäß https://db.apache.org/derby/papers/DerbyTut/install_software.html#derby_configure konfiguriert vorgenommen
- ich habe die derby.jar entsprechend als Referenzierte Bibliothek eingebunden
- Auch der Versuch derby.jar direkt in das Projekt zu importieren führt zur selben Meldung


Das Programm:
Java:
public class simpleDB {
    
    public static void main(String[] args) {
        try {
            
            //SCHRITT 2: TREIBER REGISTRIEREN
            Class.forName("org.Apache.derby.jdbc.EmbeddedDriver").getDeclaredConstructor().newInstance();
            
            //SCHRITT 3: DIE VERBINDUNG UEBER DEN TREIBERMANAGER HERSTELLEN
            Connection verbindung = DriverManager.getConnection("jdbc:derby:adressenDB");
            
            //SCHRITT 4: DIE ERGEBNISMENGE ERZEUGEN
            Statement state = verbindung.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
            ResultSet ergebnisMenge = state.executeQuery("SEL§ECT * FROM adressen");
            
            //SCHRITT 5: DIE DATEN VERARBEITEN
            while(ergebnisMenge.next()) {
                System.out.println(ergebnisMenge.getInt("iNummer"));
                System.out.println(ergebnisMenge.getString("vorname"));
                System.out.println(ergebnisMenge.getString("nachname"));
                System.out.println(ergebnisMenge.getString("plz"));
                System.out.println(ergebnisMenge.getString("ort"));
                System.out.println(ergebnisMenge.getString("telefon"));
            }
            
            //SCHRITT 6: VERBINDUNG SCHLIESSEN
            state.close();
            ergebnisMenge.close();
            verbindung.close();
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Problemchen: \n" + e.toString());
        }
    }

}

Ich würde mich sehr freuen, wenn Ihr mir bei der Lösungssuche helfen könntet.
 
Ein Jar ist eigentlich ein Zip.

Du kannst das Jar-File also auspacken oder im Windows-Explorer öffnen (wahrscheinlich vorher umbenennen/kopieren) oder mit 7zip öffnen und nachsehen, ob es darin ein class-File org/Apache/derby/jdbc/EmbeddedDriver.class gibt.

Ich habe vor 10 Jahren oder so das letzte mal JDBC gemacht, aber nach neuem Stand ist Class.forName nicht mehr notwendig, wie hier mal gepostet wurde.
 
Ich bezweifle, das Apache in "org.Apache.derby.jdbc.EmbeddedDriver" groß geschrieben wird. Profis halten sich normalerweise an Namenskonventionen.
 
Zuletzt bearbeitet:
was vllt sinnvoller wäre ist es den jdbc mit maven zu importieren und eine Module Info zu haben... da das ansich alles leichter macht
 
was vllt sinnvoller wäre ist es den jdbc mit maven zu importieren und eine Module Info zu haben... da das ansich alles leichter macht
Im Prinzip hast du recht. Ich finde es aber auch wichtig, dass man lernt den Classpath zu handhaben. Anfänger sind oft schon mit Java-Grundlagen ziemlich gefordert. Dann kommen noch IDE, Maven usw. hinzu. Manchmal fehlen schon grundlegende Kenntnisse zum Dateisystem. Es ist also oft keine schlechte Idee die Lernkurve flach zu halten.
 
Im Prinzip hast du recht. Ich finde es aber auch wichtig, dass man lernt den Classpath zu handhaben. Anfänger sind oft schon mit Java-Grundlagen ziemlich gefordert. Dann kommen noch IDE, Maven usw. hinzu. Manchmal fehlen schon grundlegende Kenntnisse zum Dateisystem. Es ist also oft keine schlechte Idee die Lernkurve flach zu halten.
ich weis halt nicht was die meisten machen...
man erstellt eine Eigene Lib
fügt die Lib dem projekt hinzu
und versucht in der module info irgendwas davon zu importieren ... wenns nicht geht in der module info rechtsklicken und von eclipse berichtigen lassen...

bei maven...
rechtsklick und neues maven projekt erstellen
die abhängigkeit raus kopieren und einfügen...

das wars


und dann kommt sehr oft das problem mit den vm arguments aber ka wie man darauf kommt da anzusetzen da das die schwerste sache ist weil man keine guten Fehlermeldungen bekommt
 

Zurück
Oben