2009-03-30 4 views
0

Ich habe ein OSGi-Plugin mit einem Aktivator, den ich unter meinem tomcat jsf-Projekt starten möchte.OSGi-Plugin startet nicht in Tomcat

Basierend auf: und einige andere Dokumente, habe ich diese Struktur unter meinem WEB-INF-Verzeichnis platziert, um die Äquinoktium-Implementierung von osgi zu starten. Ich konnte auf Plugins direkt, aber nicht programmatisch zugreifen, indem ich es von einem anderen Plugin referenziere. Das ist das Beispiel.

MyProject   configuration/       config.ini   org.eclipse.osgi_3.3.0.jar   org.eclipse.equinox.common_3.3.0.jar   org.eclipse.update.configurator_3. 2.100.jar   Plugins/       com.fnet.tts.service_1.0.0.jar

I die folgenden zwei Zeilen in der Konfigurations platziert haben .ini

[email protected]: start, [email protected], [email protected]: start, com.fnet.tts. service @ 4: start osgi.bundles.defaultStartLevel = 4

Allerdings bekomme ich diesen Fehler, wenn ich versuche, das Bundle zu aktivieren, das den tts.service aufruft.

Details: com.fnet.runtime.KSException: Fehlerbündel 'com.fnet.tts.service.viewSchedule_2.0.0.jar' bei com.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase (RuntimeServiceImpl starten .java: 190) at com..loadKnowledgebaseHandle (InterviewContext.java:83) verursacht durch: org.osgi.framework.BundleException: Das Paket konnte nicht aufgelöst werden. Grund: Fehlende Einschränkung: Require-Bundle: com.fnet.tts.service; bundle-version = "1.0.0" bei org.eclipse.osgi.framework.internal.core.BundleHost.startWorker (Bundl eHost.java305) bei org.eclipse.osgi.framework.internal.core.AbstractBundle .start (Abstrac tBundle.java:265) bei org.eclipse.osgi.framework.internal.core.AbstractBundle.start (Abstrac tBundle.java:257) bei com.fnet.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase (RuntimeServiceImpl.java:188) ... 3 weitere

ich habe seit Stunden bei dieser Suche, und ich bin auf der Suche nach einem Hinweis, Hinweis oder beantworten, damit ich vorwärts bewegen.

Danke.

Antwort

0

Können Sie mehr Debug-Ausgabe aktivieren, um zu sehen, was mit dem Paket "com.fnet.tts.service" passiert ist? Hat Equinox versucht, es zu laden und gescheitert oder gar nicht versucht?

Können Sie auch auf die OSGi-Konsole zugreifen? Wenn ja, wie sieht die Liste der installierten Pakete aus? Können Sie das Paket manuell von der Konsole aus installieren?

Sie beginnen Ihr Bündel mit Startlevel 4. Vielleicht wird dieses Startlevel nicht erreicht. Funktioniert es, wenn Sie Ihr Bundle (alle Bundles?) Auf Level 1 starten?