# Plugin Icon wird nicht angezeigt



## hdi (25. Mai 2010)

Hi,

ich habe ein Plugin, welches einen Eintrag in der Menüleiste hat.
D.h. bei den "Extension" in der plugin.xml ist ein Eintrag:
org.eclipse.ui.ActionSets, und darin wiederum eine Action mit einem Icon.

So, wenn ich das Plugin teste (Run as Eclipse Application) dann wird das Bild auch schön
angezeigt. Wenn ich das Plugin nun aber Exportiere und die jar ins plugin-Verzeichnis reinkopiere, und dann Eclipse starte, funktioniert zwar alles soweit, nur das Bild im Menü wird bei dem Button nicht angezeigt, statt dessen der Labeltext davon.

Also dieser icons-Ornder liegt auf der gleichen Ebene wie der src-Ordner, das Projekt sieht so aus im Project Exlporer:

- src
- icons
- META-INF
- build.properties
- plugin.xml

Exportieren tu ich das Plugin über Export -> Plung-Development -> Deployable Plugins and fragments

Ich hab auch schon letztens gehört dass man eig. Plugins nicht einfach in den Ordner kopieren sollte sondern irgendwie installieren. Aber das klappt bei mir nicht, wenn ich auf Help -> Install New Software gehe und dann versuch den lokalen Ordner auszuwählen in dem die jar liegt, findet er da nix drin sagt er...

Wisst ihr warum das Bild beim Testen angezeigt wird aber dann als exportierte Jar nicht mehr?

Danke!


----------



## Wildcard (25. Mai 2010)

Du musst das icon in die bin.includes der build.properties eintragen, sonst ist es nicht im jar enthalten.



> Ich hab auch schon letztens gehört dass man eig. Plugins nicht einfach in den Ordner kopieren sollte sondern irgendwie installieren. Aber das klappt bei mir nicht, wenn ich auf Help -> Install New Software gehe und dann versuch den lokalen Ordner auszuwählen in dem die jar liegt, findet er da nix drin sagt er...


Nein, das sollte man nicht tun. Wenn du mit der p2 Oberfläche etwas installieren willst, dann brauchst du ein p2 Repository(update site), oder mindestens ein exportiertes Feature. Die Update Site baust du am einfachsten mit Eclipse Buckminster. Wenn du keine Update Site willst, erstell ein Feature Project, öffne die feature.xml, geh auf included Plugins, füg deine plugins hinzu und exportiere anschließend das Feature. Features bündlen und verwalten Plugins. Der Anwender installiert immer nur Features, keine einzelnen Plugins, daher kann die Eclipse Oberfläche auch nichts mit einem plugin jar anfangen.
Mit dem p2 Director lassen sich einzelne Bundles auch direkt installieren, das Tool muss dann allerdings über die Kommandozeile bedient werden.


----------



## hdi (25. Mai 2010)

Super, dank dir klappt beides wunderbar


----------



## hdi (25. Mai 2010)

Hey, noch eine Frage bitte.. will keinen neuen Thread aufmachen weil ich wüsste auch nicht so recht wo das reinpasst.

Ich will mir jetzt jdom holen um ne XML zu schreiben. Hab mir jdom von der offiziellen Seite gezogen, weiss nun aber wieder nicht wie ich das jetzt installieren soll für mein Plugin 

Bei Plugins kann man ja nicht einfach im Build Path eine jar adden sondern muss das ja über die Dependencies in der plugin.xml machen. Aber da hab ich ja wiederum nur Zugriff auf Dinge die in der Target Platform inkludiert sind.

D.h. ich muss jdom meiner Target Platform hinzufügen.
Aber da findet er wieder nix weil der Download ein Ordner ist mit meheren Suborndern und jars, aber das is halt wieder kein Feature.

Sorry, ich merk selber wie schwer ich mich tue bei diesem ganzen Eclipse-Zeug usw, ich hab die letzten Jahre immer nur "normale" Applikationen geschrieben, dieses ganze Plugin Zeug und die Dependencies usw ich komm da gar nicht klar.. 

Danke für deine Hilfe!


----------



## Wildcard (25. Mai 2010)

Bei XML würde ich eher zu EMF raten, oder bei einfachen Dingen die Build-In Möglichkeiten der JRE verwenden, aber wenn es JDOM sein soll hast du zwei Möglichkeiten:
1. Du OSGifizierst die JDOM jar (Eclipse kann das Rechtsklick) und bindest sie als zusätzliches Bundle in der Target Platform ein
2. Alternativ kannst du die jar auch in dein Plugin kopieren, den bin.includes hinzufügen und im Manifest Editor als Extra Classpath Entry hinzufügen (mit OSGi funktioniert jar in jar)


----------



## hdi (28. Mai 2010)

Danke, von welcher Built-in Möglichkeit des JRE redest du? Ich hab in der API irgendwie nix gefunden was danach klingt für das Rausschreiben einer XML gedacht zu sein.. Klasse bitte?


----------



## Wildcard (28. Mai 2010)

Das DOM zB.
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 15.3 Die Java-APIs für XML


----------



## hdi (31. Mai 2010)

Danke, mach's jetzt mit DOM, ich muss ja nix großartig machen nur paar Elemente mit Attributen, dafür reichts


----------

