RCP eigenes Eclipse Plugin wird nicht aufgelöst

Bernau

Mitglied
Hi Leute,

ich habe über die Forensuche und auch Google bisher leider keine zufriedenstellende Lösung gefunden. Entschuldigt bitte falls es bereits ein ähnliches Thema gibt.

Im Rahmen meiner Bachelorarbeit habe ich 2 Plugins entwickelt, die das Eclipse UI über extension points erweitern. Starte ich den aktuell offenen Workspace als Eclipse-Applikation lädt er alle im Workspace befindlichen Plugins, und zeigt die Plugins auch alle in dem Reiter "Plug-ins" der Installationsdetails an. Es funktioniert dann so weit alles.

Wenn ich die Plugins aber deploye und die JAR-Dateien in den Dropins-Ordner meines Eclipse lege und einen neuen Workspace zum Testen starte, werden bis auf meine zwei Plugins alle geladen. Die Plugins sind über die OSGi-Console auch nicht zu finden.

Habe nun schon folgendes durch:
  • Plugins verschieden Deployed (mit/ohne binary cycles etc...)
  • Eclipse mit der option '-clean' gestartet um den alten Plugin-Cache zu löschen

Ich hoffe, dass ich nichts wichtiges vergessen habe. Vielen Dank bereits im Voraus!
Gruß, Bernau
 
Hast du mal versuchst eine Update-Site für deine Plug-Ins zu erstellen und dann von dieser zu installieren?

Habe selbst eigentlich nie etwas in den dropins-Ordner gelegt, aber zumindest steht das hier im Eclipse Wiki:

Provisioning operations should generally occur using the p2 UI, or by invoking p2 tools or APIs. However, there are situations where scripts need to install plugins and features via file system operations, and have the new content dynamically discovered by the system either at startup, or while running.

Equinox/p2/Getting Started - Eclipsepedia

Falls diese Eigenschaften nicht auf deine Plug-Ins zutreffen, würd ich wie gesagt eben auf den "normalen" Weg zurückgreifen und direkt p2 verwenden (eben zB als Update Site).
 
Vielen Dank für die schnelle Antwort. Ich habe in der Zwischenzeit etwas neues rausgefunden:

Wenn man Eclipse mit der Option '-console' startet, öffnet sich eine OSGi-Konsole mit. Über die habe ich nun versucht bei Plugins manuell zu installieren und zu starten.
Die Vorgehensweise sieht wie folgt aus:
Code:
...\eclipse.exe -clean -console
startet das Eclipse mit Konsole und frischem Plugin-Cache
Dann in der OSGi-Konsole:
  • Code:
    install file:\PFAD_ZUR_PLUGIN_JARDATEI
    lädt das Plugin in Eclipse und zeigt die Plugin-ID an.
  • Code:
    start PLUGINID
    - startet das Plugin zu der angegebenen ID.

Die Installation klappt bei mir noch. Beim Start meines zweiten Plugins, kommt dann aber eine ClassNotFoundException die angeblich im Activator fliegen soll (siehe Anhang). Es wird also irgendeine abhängigkeit nicht aufgelöst.

Hat da zufällig noch jemand eine Idee?

Gruß,
Bernau
 

Anhänge

  • Plugin-Start.jpg
    Plugin-Start.jpg
    99,2 KB · Aufrufe: 51
Wenn ich im Manifest auf den Activator gehe, öffnet er die richtige Klasse.

Und er findet die Plugins alle richtig, wenn ich aus dem Entwicklungs-Workspace mit allen abhängigen Plugins als Eclipse-Applikation starte. Nur wenn ich die Plugins deploye und in Eclipse per dropin einfüge erkennt er alle bis auf meine beiden...

Sehr kurios oO
 
Ich habe den kompletten Stacktrace mal angehangen. (Raus kopieren war leider nicht möglich, da die Konsole kein Kontextmenü etc angeboten hat)
 

Anhänge

  • trace1.jpg
    trace1.jpg
    101,5 KB · Aufrufe: 35
  • trace2.jpg
    trace2.jpg
    97,6 KB · Aufrufe: 34

Zurück
Oben