2016-04-01 3 views
0

В моем проекте BND (OSGi), я получаю следующее сообщение об ошибке, когда я пытаюсь запустить пакет (называемый UI в данном случае), хотя у меня есть флягу зависимости (org.apache.commons.io) правильно установлен.Нерешенный импорт пакета в OSGi

org.osgi.framework.BundleException: Unresolved constraint in bundle ui [12]: Unable to resolve 12.2: missing requirement [12.2] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.io)(version>=2.0.0)(!(version>=3.0.0))) 

Я попытался с помощью других org.apache.commons.io релизов, но без успеха.

Пользовательский интерфейс Bnd.bnd файл

Bundle-Version: 0.0.0.${tstamp} 
-buildpath: \ 
    ../cnf/plugins/org.apache.felix.dependencymanager.annotation-3.2.0.jar;version=file,\ 
    org.apache.felix.dependencymanager,\ 
    osgi.core,\ 
    launcher;version=latest,\ 
    org.apache.commons.io 
Private-Package: \ 
    ui.impl,\ 
    resources.css,\ 
    resources.images 
Export-Package: ui 
Import-Package: * 

Как я могу это исправить?

Благодарим вас заблаговременно.

+0

У вас есть пакет, экспортирующий установленный пакет, который будет разрешен при запуске вашего пакета? –

+0

Спасибо за ответ @BJ Hargrave Я попытался добавить '-runrequires: osgi.identity; filter: = '(osgi.identity = org.apache.commons.io)'' в файл Bnd.bnd, но это doesn Решить проблему. Я все равно получаю ту же ошибку –

+0

Это не отвечает на вопрос BJ. Является ли пакет org.apache.commons.io в разрешенном состоянии? –

ответ

0

Я скачал Amdatu из Затмение Marketplace и называется зависимость от хранилища пакета Amdatu, от Amdatu зависимостей группы в частности. По какой-то причине эта зависимость работала.

Я все же делаю ставку на то, что там есть лучшее, правильное исправление, которое должно установить независимость для работы независимо. Я не думаю, что я действительно решил проблему здесь. Просто избегайте этого, и, боюсь, я скоро приду к нему снова. Это, однако, сейчас работает.

Смежные вопросы