Hallo,
zum ersten mal seit einiger Zeit finde ich mal wieder ein paar Augenblicke, um mich um RCP zu kümmern.
Ich hatte vor einiger Zeit mal eine Anwendung gebaut, die einige Editoren u.ä. über das CNF lädt und öffnet.
Das System ist nicht gerade toll, aber es funktionierte soweit.
Hier ein kurzer Abriss:
* Hauptanwendung (mit CNF):
- hat eine Extension, in der ein Baummodell angegeben werden kann (eine selbstgemachte Klasse mit Parent- und Children-Elementen, die PlatformObject erweitert)
- hat einige Klassen, die es exportiert - u.a. die Klasse für die Extension, einen Stub für EditorInputs, ...
* Plugins:
- erweitern die Klasse für das Baummodell, dieses wird dann im CNF angezeigt
- haben mitunter eigene IEditorInput-Varianten, die meinen Stub überschreiben
Was geht bislang?
Das Baummenü wird angezeigt, die Editoren starten, solange der input direkt meine Stub-Klasse ist.
Sobald ich eigene Inputs schreibe, werden diese nicht mehr geladen und eine
fliegt mir um die Ohren.
Ich gehe mal davon aus, dass das laden des Baummenüs noch unabhängig des Bundle-Starts abläuft und die restlichen Klassen des Plugins erst geladen werden, wenn der Editor geladen wurde.
edit: Nein - scheint doch nicht so zu sein... Das hilft leider auch nicht. Wenn ich die Input-Klassen im Hauptprogramm ablege und von da starte findet er sie. Kann es sein, das der falsche Classloader verwendet wird... Ich müsste also den vom Bundle bekommen... argh!
zum ersten mal seit einiger Zeit finde ich mal wieder ein paar Augenblicke, um mich um RCP zu kümmern.
Ich hatte vor einiger Zeit mal eine Anwendung gebaut, die einige Editoren u.ä. über das CNF lädt und öffnet.
Das System ist nicht gerade toll, aber es funktionierte soweit.
Hier ein kurzer Abriss:
* Hauptanwendung (mit CNF):
- hat eine Extension, in der ein Baummodell angegeben werden kann (eine selbstgemachte Klasse mit Parent- und Children-Elementen, die PlatformObject erweitert)
- hat einige Klassen, die es exportiert - u.a. die Klasse für die Extension, einen Stub für EditorInputs, ...
* Plugins:
- erweitern die Klasse für das Baummodell, dieses wird dann im CNF angezeigt
- haben mitunter eigene IEditorInput-Varianten, die meinen Stub überschreiben
Was geht bislang?
Das Baummenü wird angezeigt, die Editoren starten, solange der input direkt meine Stub-Klasse ist.
Sobald ich eigene Inputs schreibe, werden diese nicht mehr geladen und eine
Code:
java.lang.ClassNotFoundException
Ich gehe mal davon aus, dass das laden des Baummenüs noch unabhängig des Bundle-Starts abläuft und die restlichen Klassen des Plugins erst geladen werden, wenn der Editor geladen wurde.
edit: Nein - scheint doch nicht so zu sein... Das hilft leider auch nicht. Wenn ich die Input-Klassen im Hauptprogramm ablege und von da starte findet er sie. Kann es sein, das der falsche Classloader verwendet wird... Ich müsste also den vom Bundle bekommen... argh!