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:
publicclass simpleDB {publicstaticvoidmain(String[] args){try{//SCHRITT 2: TREIBER REGISTRIERENClass.forName("org.Apache.derby.jdbc.EmbeddedDriver").getDeclaredConstructor().newInstance();//SCHRITT 3: DIE VERBINDUNG UEBER DEN TREIBERMANAGER HERSTELLENConnection verbindung =DriverManager.getConnection("jdbc:derby:adressenDB");//SCHRITT 4: DIE ERGEBNISMENGE ERZEUGENStatement state = verbindung.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet ergebnisMenge = state.executeQuery("SEL§ECT * FROM adressen");//SCHRITT 5: DIE DATEN VERARBEITENwhile(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.
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.
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