/ / Eclipse-Konfiguration zur Unterstützung von zwei Equinox / Felix-Umgebungen - Eclipse, OSGI, Tagundnachtgleiche, Eclipse-PDE, Apache-Felix

Eclipse-Konfiguration zur Unterstützung von zwei Equinox / Felix-Umgebungen - Eclipse, OSGI, Tagundnachtgleiche, Eclipse-PDE, Apache-Felix

Was sind einige Konfigurationsänderungen, um Eclipse PDE optimal mit Equinox und Felix zu unterstützen?

Hier ist ein Beispielproblem, das ich gerade habe. Ich kann meine Anwendung über den Eclipse OSGi Framework Launcher ausführen. Ebenso gibt es keine Kompilierungsprobleme in PDE. Wenn ich jedoch in Felix laufe, bekomme ich NoClassDefFoundErrors:

java.lang.NoClassDefFoundError: org/w3c/dom/DOMException

Mein Verständnis ist, dass es mein Eclipse-Setup isthier schuld; org.w3c.dom ist kein "standardmäßiges" OSGi-Paket und sollte nicht geladen werden, wenn ich es in Eclipse ausführe. Ebenso sollte der Import in meinem Code für org.w3c.dom.DOMException ein Fehler sein.

Ich weiß, wie ich das für Felix beheben kann: ein Import-Paket deklarieren. Aber das ist nicht meine Frage. Meine Frage ist, wie man Eclipse PDE dazu zwingt, eine nähere Konfiguration zu Felix zu übernehmen ... im Grunde genommen, um das Laden von Paketen strenger zu machen?

Antworten:

1 für die Antwort № 1

Ich denke Equinox tut Benimm dich wie Felix, wenn du es alleine stehst. Es ist eher ein Eclipse Legacy-Ding als ein Equinox-Ding, wie auf osgi.org.

Soweit ich weiß, gibt es keine Möglichkeit, die Boot-Delegation von Eclipse außer Kraft zu setzen, aber ich würde gerne falsch bewiesen werden, da ich dieses Problem oft konfrontiert habe.


1 für die Antwort № 2

Wenn Sie eine Serveranwendung entwickeln, Iempfehlen, die PDE überhaupt nicht zu verwenden. Ich benutze Maven und das Maven-Bundle-Plugin, um meine Bundles zu entwickeln. Dann stelle ich auf Apache Karaf bereit. Das Debuggen ist mit dem Befehl karaf dev: watch und remote debugging ebenfalls sehr einfach. Ich habe die PDE-Features nie wirklich vermisst und sie haben nie gut mit meinem Maven-Build funktioniert.


0 für die Antwort № 3

Das klingt so, als ob der Launcher die Boot-Relation in den Legacy-Modus versetzt. Siehe folgende Seite im OSGi Wiki: http://wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F