Eclipse RCP Extension Point fragen

Status
Nicht offen für weitere Antworten.

virus

Aktives Mitglied
Folgendes: Ich hab ein Eclipse Standalone Plug-in geschriben. Zu diesem plugin hab ich nun ein Extension point definiert.
Code:
<extension-point id="extensionname" name="Extension Name" schema="schema/extensionname.exsd"/>


Daran hab ich nun wiederum ein Plugin geschrieben das dann
Code:
<extension
         id="extensionname"
         point="com.project.extensionname">
   </extension>

hat.

Nun das funktioniert auch wunderbar (Eclipse reklamiert auf jedenfall nirgends). Nur wie teste ich nun dieses Plugin? Wie starte ich mein plugin(das Standalone) so dass es das plugin dazu lädt? Wie kann ich von meinem Plugin das den Extension Point anbietet herausfinden was für plugins installiert sind? wie kann ich die dann darin verwenden? Ich hab mich mit IPluginRegistry und IExtensionPoint versucht, bin aber nicht weit gekommen. Ich weiss noch nicht mal ob das plugin auchwirklich geladen wird. Gibts da eventuell irgendwelche hilfen im debugger?
 

Wildcard

Top Contributor
Code:
        IExtensionRegistry registry = Platform.getExtensionRegistry();
        IExtensionPoint extensionPoint = registry.getExtensionPoint( "your.id");
        IExtension[] extensions = extensionPoint.getExtensions();
        for (int i = 0; i < extensions.length; i++)
        {
            IExtension extension = extensions[i];
            IConfigurationElement[] elements = extension.getConfigurationElements();
            for (int j = 0; j < elements.length; j++)
            {
                try
                {
                    IConfigurationElement element = elements[j];
                    IYourInterface blubb = (IYourInterface)element.createExecutableExtension("yourClassAttribute");
                    Object foobar = new Integer(element.getAttribute("someAdditonalAttribute"));
                }
                catch (CoreException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
 

virus

Aktives Mitglied
Ok danke das Hilft mir schon mal weiter. Nur liefer mir extensionPoint.getExtzensions nichts. Wird wohl daran liegen das mein Plugin nicht geladen wird. Normalerweise würde ich ja mein plugin.jar in den ordner plugins schmeissen. Nun ists ja aber so das meine applikation und mein plugin dazu jeweils in einem eigenen Eclipse Projekt sind.

Gibts zu der ganzen plugin geschichte eigentlich ausch schlaue literatur? Ich hab mir vor einiger zeit mal das buch "Rich-Client-Entwicklung mit Eclipse 3.2" gekauft. Gefällt mir aber nicht so gut und zum thema plugin/extension points steht da auch nicht all zu viel brauchbares drinn.
Es gäbe ja noch das buch "Eclipse Rich Client Platform" ist das eventuell besser?
 

Wildcard

Top Contributor
Wenn du keine Extension bekommst liegt es daran, das sich das PlugIn nicht korrekt am Extension Point angemeldet hat, oder gar nicht erst geladen wurde.
Literatur kann ich dir keine nennen, ich hab dazu noch nichts gelesen.
 

virus

Aktives Mitglied
Das Vermute ich ja genau. Nur wie kann ich nun meinem Standalone-Plugin Projekt sagen es soll das Pugin (in einem Anderen Eclipse Projekt) laden als ob es im verzeichnis myApplication/plugins liegen würde.
 

Wildcard

Top Contributor
Dein PlugIn soll gar nichts laden, darum muss sich Eclipse kümmern.
In der Launch-Configuration gibst du an, welche PlugIns in die Runtime Workbench geladen werden sollen.
 

virus

Aktives Mitglied
Danke das hat mich rest mal weiter gebracht. Jetzt wird das Plugin sauber geladen. d.h. der Activator wird aufgerufen.

meine exsd datei enthält aber folgenden code:
Code:
<element name="initializer">
        <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="com.project.AbstrakteKlasse/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

desshalb hat dann die Plugin.xlm (des plugins) den code:

Code:
   <extension
         id="myplugin"
         point="com.project.extensionname">
        <initializer class="myplugin.ImplementationDerAbstraktenKlasse"/>
	</extension>

Somit möchte ich ein Objekt der klasse ImplementationDerAbstraktenKlasse mit
Code:
AbstrakteKlasse blubb = (AbstrakteKlasse)element.createExecutableExtension("class");
erzeugen.

Das gibt mir aber folgende Exception:
Code:
org.eclipse.core.runtime.CoreException: Plug-in "myPlugin" was unable to instantiate class "myplugin.ImplementationDerAbstraktenKlasse".
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:165)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:159)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51).....

Ich kapiers wirklich nicht ganz warum das nicht gehen sollte. For allem weil der Activater instanziert wird. Muss ich eventuell im Activator was vorbereiten das sich dann ImplementationDerAbstraktenKlasse instanzieren lässt?
 

virus

Aktives Mitglied
Hei danke! Es lag am Default Konstruktor. Jetzt funktioniert allles wie ichs gerne hätte.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Eclipse: Extension Point für das Öffnen v Files Plattformprogrammierung 8
I Eclipse Extension org.eclipse.ui.perspectiveExtensions Plattformprogrammierung 1
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
G Eine Library in Eclipse zur Verfügung stellen Plattformprogrammierung 14
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
C plugin development environment eclipse Plattformprogrammierung 4
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5
M Eclipse - Dokumentation nicht über das Internet benutzen Plattformprogrammierung 3
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
E org.eclipse.ui.dialogs.ListSelectionDialog erzeugt ClassNotFoundException zur Laufzeit Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C RCP Verständnisfrage Eclipse/Equinox Plattformprogrammierung 4
D eclipse-RCP von der Konsole baut nicht Plattformprogrammierung 3
L RCP Eclipse Popupmenu im PackageExplorer erweitern? Plattformprogrammierung 7
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
S (OSGI - EQUINOX) Welche Eclipse IDE? Plattformprogrammierung 3
C Pdf in jar datei einbinden mit eclipse Plattformprogrammierung 23
G neuer branch in SVN mit Eclipse Plattformprogrammierung 6
F RCP eclipse rcp ohne eclipse? Plattformprogrammierung 15
dzim RCP Eclipse Provisioning Plattformprogrammierung 3
G RCP Abhängigkeiten von Eclipse Plugins Plattformprogrammierung 9
K Eclipse RCP, EMF, Hibernate Problem Plattformprogrammierung 7
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
T Eclipse Helios XMLUnit importieren Plattformprogrammierung 6
R Verwendung pdfbox in Maven-Projekt in Eclipse Plattformprogrammierung 3
lumo RCP wechseln der Font von Eclipse per code Plattformprogrammierung 10
lumo RCP Eclipse internationalisierung Plattformprogrammierung 5
jemandzehage Kurze Fehlernachricht beim starten in Eclipse Plattformprogrammierung 5
A RCP java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
Rudolf External Libs dauerhaft in Eclipse einbinden Plattformprogrammierung 3
G RCP Eclipse UI Forms Plattformprogrammierung 10
musiKk RCP Eclipse: Speichern von Spaltenbreiten Plattformprogrammierung 9
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
P Eclipse Help: Wie Links zu anderer Hilfeseite setzen ? Plattformprogrammierung 5

Ähnliche Java Themen


Oben