2012-03-26 10 views
3

Ich entwickelte ein Plug-in für Eclipse, die in Helios funktioniert hat. Ich habe Juno installiert, das Plug-in-Glas in den Ordner "dropins" gestellt und Eclipse gestartet, aber funktioniert das Plug-in nicht in Juno (mein zusätzlicher Menüeintrag wird nicht angezeigt).Eclipse-Plugin entwickelt unter Helios zeigt nicht in Juno

Wenn ich Plug-Ins anzeigen, sehe ich mein Plug-in in der Liste. Ich denke, es muss eine Art von Versionsproblem sein (something like this), aber wenn ich das Plug-in erstellt habe, habe ich keine maximale Version angegeben, nur minimale Versionen. Ich habe bemerkt, dass es nicht wie der Rest der Plug-Ins signiert ist, aber ich denke nicht, dass das aufhören sollte.

Also habe ich das Plug-in-Entwicklungsprojekt mit Juno geöffnet und versucht, es über "Launch eine Eclipse-Anwendung" unter "Testing" zu starten. Gleiches Ergebnis (kein Menüpunkt). Ich habe sogar die Min-Version entfernt (über die Schaltfläche "Eigenschaften ..."). Immer noch keine Freude. Wenn ich das oben mit Helios mache, funktioniert es (Menüpunkt zeigt).

In meinen "Required Plug-ins" habe ich org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.jdt.core, org.eclipse.core.resources, org.eclipse.ui .console, org.eclipse.jface.text, alles ohne Min- oder Max-Versionen. Und dieselben Einträge werden angezeigt, wenn ich auf "Plug-in-Abhängigkeitshierarchie anzeigen" klicke. Alles scheint in Ordnung zu sein, aber meine App scheint nicht zu laufen.

Plug-in Registry > (right click on my plugin) > Show Advanced

Plug-in Registry > (right click on my plugin) > Diagnose

Ergebnisse in einem keine Probleme aufmerksam.

Plug-in Registry > (right click on my plugin) > Start

Ergebnisse in einem grünen Dreieck, aber es gibt noch keinen Menüpunkt.

Ich habe sogar eine Feature Update Site eingerichtet; Unter Helios habe ich eine lokale Feature-Update-Site erstellt, die JAR-Datei aus dem Helios-Drop-In-Verzeichnis entfernt und die App von der Site installiert. Arbeitete perfekt. Aber als ich von Juno auf die gleiche Weise installierte, zeigte es sich in der Plugin-Registry, aber auch hier kein Menüeintrag. Es scheint gefunden zu werden, nur scheinbar nicht ausgeführt (wie durch das Fehlen eines Menüpunktes an dem erwarteten Ort angezeigt).

Unter Extensions > org.ecliipse.ui.menus > menuContribution sehe ich dort meinen Menüpunkt, mit locationURI=popup:org.eclipse.jdt.ui.PackageExplorer. Hat sich da etwas zwischen Helios und Juno verändert?

Update: In einem leeren Arbeitsbereich installieren, funktionierte es. Ich installierte eine separate Kopie von Juno und zeigte sie auf einen leeren Arbeitsbereich, der dann von der lokalen Feature-Update-Site installiert wurde. Das Ergebnis war, dass sich die Anwendung wie gewohnt verhielt. Obwohl dies einen Hinweis liefern mag, ist es keine "Lösung", da ich zu viele Projekte habe, die viel Abwechslung erfordern würden, und es wäre es nicht wert, diese Route zu gehen.

Update2: 1) Hat ein frisches von Juno installieren, einen leeren Arbeitsbereich geöffnet, geschlossen Juno, dann aufgeführten Inhalte eclipse\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info und aufgelistet Inhalt des Dateisystems in eclipse\plugins. Der einzige Unterschied zwischen den beiden war die Einträge, die mit .source enden, was erwartet wird. 2) Starte Juno und zeige auf eine Kopie meines Helios-Arbeitsbereichs. Help > Install new software... > Add... > Local... > (select local feature update site) > (uncheck Group items by category) und der Rest, um die Installation erfolgreich abzuschließen.3) Closed Juno und bemerkte, dass nur mein Plugin zu bundles.info hinzugefügt wurde, und bemerkte, dass nur mein Plugin zum Dateisystem in eclipse\plugins hinzugefügt wurde. Mit anderen Worten, jeder von diesen hatte einen zusätzlichen Gegenstand, der mein Plugin war. 4) Starte Juno, aber der Menüpunkt von meinem Plugin wurde nicht angezeigt, aber alle Anzeigen (Plugin-Diagnose) zeigten an, dass es funktionieren sollte. 5) Kopierte das Plugin-Jar zum Dropins-Ordner, aber keine Verbesserung.

Beliebig mehr Anleitung, was als nächstes zu versuchen wäre geschätzt.

+0

Oh, es funktioniert mit einem leeren Arbeitsbereich. Ich habs. Überprüfen Sie meine bearbeitete Antwort. – Fredrik

Antwort

2

Zuerst sollten Sie prüfen, ob das Plugin gefunden wurde. Dann sollten Sie überprüfen, ob das Plugin gelöst ist, d. H. Wenn alle Voraussetzungen erfüllt sind.

Wenn Sie die Plugin-Entwicklungsversion von Eclipse haben, können Sie die Plugin-Registrierungsansicht öffnen. Sehen Sie, ob Ihr Plugin in der Liste ist, wenn ja, dann wurde das Atleast gefunden. Klicken Sie dann mit der rechten Maustaste darauf, aktivieren Sie erweiterte Operationen und wählen Sie anschließend Diagnose. Einige Anforderungen wurden wahrscheinlich nicht erfüllt. Wenn Sie nicht die Plugin-Version von Eclipse haben, können Sie die osgi-Konsole verwenden. Wechseln Sie zur Konsolenansicht und wählen Sie im Menü Ansicht die OSGI-Konsole. Führen Sie den Befehl ss aus, um alle Plugins aufzulisten, und diag 123, wobei die Nummer die ID Ihres Plugins ist, um es zu diagnostizieren.

Auch see a previous answer to a similar question

Ich habe einige serious problems bekommen Plugins im dropins Katalog platziert worden, die manchmal zu arbeiten ... Sie könnten versuchen, es auf die direkt eclipse/plugins Katalog zu kopieren. Oder soll es so sein, wie es gehandhabt werden soll; Erstellen Sie ein Feature und eine Update-Site für das Update und installieren Sie das Plugin von der Update-Site.

Edit: "In einem leeren Arbeitsbereich installieren, es funktionierte"

Ach ja, richtig. Sie stoßen auf Probleme mit bundles.info Datei. Siehe this page:

Die Datei bundles.info enthält eine Liste aller Plug-Ins, die im aktuellen System installiert sind. Beim Start werden alle in dieser Datei aufgelisteten Plug-Ins an OSGi als die genaue Menge der Plug-Ins übergeben, mit denen sie ausgeführt werden sollen. Alle zusätzlichen Plug-Ins im Verzeichnis plugins oder an anderer Stelle werden ignoriert.

Jetzt überprüfen Sie Ihre Arbeitsbereiche in .metadata\.plugins\org.eclipse.pde.core\org.eclipse.equinox.simpleconfigurator für die Datei. Vergleichen Sie die Dateien aus den beiden Arbeitsbereichen, der Unterschied sollte Ihre Datei sein. Bearbeiten Sie die Datei in Ihrem ersten Arbeitsbereich so, dass sie die Zeile enthält, in der Ihr Plug-in von der bundles.info in Ihrem zweiten Arbeitsbereich aufgelistet wird.

Die Datei bundles.info kann aktualisiert werden, manuelle Änderungen sind jedoch einfacher.

+0

Danke @Fredrik. Ich habe deine Vorschläge in die Frage eingefügt. Immer noch keine Freude, aber ich lerne. – Dale

+0

@Dale Haben Sie versucht, die Quelle auf Juno zu laufen? Wenn Sie das Projekt öffnen und es als Eclipse-Anwendung ausführen, können Sie Haltepunkte in die Aktivatorklasse und in die Klasse einfügen, die das Menü verwaltet. So erhalten Sie möglicherweise eine Vorstellung davon, was gerade passiert. – Fredrik

+0

Ja, ich habe es versucht. Ich habe nichts anderes gesehen, aber ich werde es noch einmal versuchen. – Dale

Verwandte Themen