У меня есть плагин OSGi с активатором, который я запрашиваю запустить в рамках моего проекта tomcat jsf.
На основании: http://www.eclipse.org/equinox/documents/quickstart.php и некоторых других документов я поместил эту структуру в свой каталог WEB-INF, чтобы начать реализацию osgi в режиме равноденствия. Я был в состоянии получить доступ к плагинам напрямую, но не программно, ссылаясь на него из другого плагина. Это тот пример.
MyProject
конфигурация /
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
плагины /
com.fnet.tts.service_1.0.0.jar
Я поместил следующие две строки в config.ini
osgi.bundles=org.eclipse.equinox.common@2: start, org.eclipse.update.configurator@start, org.eclipse.equinox.registry@3: start, com.fnet.tts.service@4 :Начните
osgi.bundles.defaultStartLevel = 4
Однако я получаю эту ошибку, когда пытаюсь активировать пакет, который вызывает tts.service.
Подробнее:
com.fnet.runtime.KSException: не удалось запустить пакет 'com.fnet.tts.service.viewSchedule_2.0.0.jar'
at com.runtime.impl.RuntimeServiceImpl $ KSImpl
.loadKnowledgebase (RuntimeServiceImpl.java:190)
на com..loadKnowledgebaseHandle (InterviewContext.java:83)
Вызвано: org.osgi.framework.BundleException: Пакет не может быть разрешен.
Причина: отсутствует ограничение: Require-Bundle: com.fnet.tts.service; пачка версия = «1.0.0»
в org.eclipse.osgi.framework.internal.core.BundleHost.startWorker (Bundl
eHost.java:305)
в org.eclipse.osgi.framework.internal.core.AbstractBundle.start (Abstrac
tBundle.java:265)
в org.eclipse.osgi.framework.internal.core.AbstractBundle.start (Abstrac
tBundle.java:257)
в com.fnet.runtime.impl.RuntimeServiceImpl $ KSImpl
.loadKnowledgebase (RuntimeServiceImpl.java:188)
... еще 3
Я смотрю на это часами и ищу подсказку, подсказку или ответ, чтобы я мог двигаться вперед.
Спасибо.