У меня есть два пакета, скажем, A и B. A зависит от B (указанного как Required-Bundle: B в MANIFEST A).
Теперь я установил оба пакета A, B один за другим (вызвав BundleContext.installBundle). Затем, когда я пытаюсь запустить пакет A, я получаю следующую ошибку
org.osgi.framework.BundleException: Could not resolve module: A [140]
Unresolved requirement: Require-Bundle: B; bundle-version="1.0.0"
Из исключения я понимаю, что пакет B еще не запущен (разрешен). Как теперь решить эту проблему?
Единственный способ решить эту проблему - сортировать пакеты по их зависимостям? Или есть ли какие-либо варианты, такие как указание папки для среды выполнения OSGi, чтобы любые файлы пакетов, скопированные в нее, были активированы?
Кстати, я использую Эквинокс.