2010-12-27 2 views
0

Ich habe kürzlich gelernt, dass the import section from feature.xml is legacy, und die eigentliche Abhängigkeit Arbeit an die p2-Engine delegiert ist, die die Informationen aus dem Plugin-Manifest verwendet.Wann können Importeinträge aus feature.xml sicher entfernt werden?

Ich bin nicht sicher, aber wenn p2 für alle aktuellen Versionen von Eclipse zur Verfügung steht, oder in allen Eclipse-basierte Produkte, also bin ich nicht sicher, ob es sicher ist, den import Abschnitt von feature.xml zu entfernen.

Unter welchen Umständen ist es sicher, den import Abschnitt von feature.xml zu entfernen? Angenommen, wir berücksichtigen Eclipse 3.4 oder neuer.

Antwort

1

P2 wurde in Eclipse 3.4 Release eingeführt. In dieser Version gab es einige Probleme. Daher wurde ein Weg gefunden, die Eclipse-Installation auf den alten Update Manager zurückzusetzen. Ab Version 3.5 ist p2 ziemlich stabil und stellt eine deutliche Verbesserung gegenüber dem alten Update Manager dar. Ich bin nicht sicher, ob es möglich ist, zum Update Manager in Version 3.5 oder höher zurückzukehren. Ich habe bestimmt noch nie von jemandem gehört, der das macht.

P2 ist in allen Eclipse-Paketen ab Version 3.4 enthalten.

Ich würde Feature-Import nicht als veraltetes Feature einstufen. Sie möchten immer noch Plugins verwenden, wenn Sie keine direkte OSGi-Abhängigkeit von ihnen haben.

Betrachten Sie den Fall, in dem Sie eine Erweiterung für JDT erstellen. Angenommen, Sie sind nur von JDT core api abhängig (keine UI-Erweiterungen). Wenn Sie sich nur auf OSGi-Abhängigkeiten verlassen, installiert p2 beim Installieren Ihres Plugins pflichtgemäß das JDT-Kernpaket, nicht aber das UI-Bundle. Aus Sicht von OSGi perfekt, aber wahrscheinlich nicht das, was Sie vorhaben.

Ich empfehle, mit Feature-Import zu bleiben, um Ihre Abhängigkeiten auf hoher Ebene zu beschreiben, um sicherzustellen, dass sie vollständig installiert sind. Sich nur auf OSGi-Abhängigkeiten zu verlassen, funktioniert am besten für freischwebende Bundles, die nicht Teil von etwas Größerem sind, das als eine Einheit installiert werden sollte.