Eclipse Plug-in mit Datenbankanbindung

Halodrie

Grünschnabel
Hallo zusammen,

Ich bin im Bereich der Plug-in Entwicklung für Eclipse noch recht neu und versuche mich, daher momentan darin etwas einzuarbeiten. Bis lang hab ich meistens normale Java-Applikationen entwicklet und hatte eigentlich auch nie größere Probleme. Ich denke mal mir fehlt einfach der Ansatz :rolleyes:

Jetzt aber zu meinem Problem:

Ich bin momentan dabei ein kleines Plugin zu entwicklen, bei dem dem Anwender 2 Views und ein Button zur Verfügung gestellt werden sollen. Per Button-Klick sollen diese beiden Views mit Daten aus einer Datenbank gefüllt werden.
Bis jetzt habe ich die Fachklassen und DB-Zugriffsklassen geschrieben, mit denen ich auch, sofern ich ein Java-Projekt erstelle, Daten aus der DB auslesen kann bzw. auch reinschreiben/ändern/etc. kann. Keine Probleme mit jdbc-Treiber oder ähnlichem.

Dann habe ich zum testen ein Plugin mit Hilfe des HelloWorld-Templates erstellt, um einfach mal ein Grundgerüst zu haben. Ein Button in der Action-Leiste wird da ja schon mit in die Eclipse-Oberfläche integriert. In der Button-Action, die eine Message-Box öffnet, habe ich dann ein Obejkt vom Typ, welcher in meiner Datenbank gespeichert wird, erzeugt. Das erzeugte Objekt wollte ich dann in meiner Datenbank speichern. Das starten der zweiten Runtime über den Manifest-Editor ging auch alles einwandfrei. Jedoch als ich dann den Button angegklickt hatte, kam es direkt zu einer Exception. Die jdbc-Treiber, der vorher einwandfrei funktioniet hatte, wurde angeblich nicht gefunden.

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

Auszug aus SampleAction.java
import fachklassen.Student;
import fachklassen.StudentVerwaltung;
....
public void run(IAction action)
{
Student student1 = new Student("Name","Vorname","StudentID");
StudentVerwaltung.anlegen(student1);
}


Auszug aus StudentVerwaltung.java
....
public static void anlegen(Student student)
{
DbZugriffStudent.verbinden("localhost","dbname","root","passwort");
DbZugriffStudent.insert(student.getName(), student.getVorname(), student.getFb4());
DbZugriffStudent.schliessen();
}
....

Auszug aus DbZugriffStudent.java
public static void insert(String name, String vorname, String fb4)
{
try
{
Statement befehl = verbindung.createStatement();
befehl.executeUpdate("insert into Student (fb4, Name, Vorname) values ('"+fb4+"', '"+name+"', '"+vorname+"') ");
}
catch(SQLException e)
{
System.out.println(e.getStackTrace());
}
}

Auszug aus DbZugrff.java
public static void verbinden(String port, String db, String benutzername, String passwort)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception ae)
{
ae.printStackTrace();
}
try
{
String URL= jdbc+ port + "/" + db;
verbindung = DriverManager.getConnection (URL, benutzername,passwort);
}
catch ( Exception ae)
{
System.out.println("Verbindung konnte nicht hergestellt werden");
}
}

Ich habe alle bei der Abfrage involvierten Programmstücke mal angegeben, ob wobei ich nicht glaube, dass es an denen liegt.
Zur Einbindung des jdbc-Treibers. Da bin ich mir auch schon fast sicher alles getan zu haben, was möglich ist.
- In den classpath eingetragen
- Add External Jar unter dem Projekt eingefügt
- Hart in die Manifest-Datei eingetragen
- Das Jar-Verzeichnis in sämtliche Ordner des Projektes gepackt (Als Jar und entpackt)

Eine Tagelange Internetrecherche hat auch nicht viel gebracht. Daher bin ich so langsam mit meinem Latein am Ende.

Ich kann mir eigentlich nur vorstellen, dass ich das Konzept nicht ganz verstanden habe. Es gibt ja genügens Eclipse Plug-ins die schon auf Datenbank zugreifen. :confused:

Von daher hoffe ich, dass ihr mir helfen könnt

mfg
Stefan
 
Zurück