Пакет использует конфликт: Import-Package: de.foo.bar; версия = "0.0.0" - PullRequest
1 голос
/ 12 августа 2010

Я пытаюсь установить пакет в среде OSGi (FUSE ESB), но мне не удается решить его.Сообщение об ошибке:

The bundle could not be resolved. Reason: Package uses conflict: Import-Package: de.foo.bar; version="0.0.0"

Мой пакет импортирует пакет de.foo.bar .Пакет, который экспортирует пакет de.foo.bar , делает это с помощью директивы use.

Export-Package = de.foo.bar;uses:="{other packages}";version="2.4.0"

Как я понял, я должен убедиться, что мой пакет должен импортировать все другие пакетыупомянуто в директиве использования пакета de.foo.bar (в правильной версии).

Я проверил это, а также попробовал несколько изменений версии (0.0.0 и реальные номера версий), но не могузаставить его работать.

Итак, что же на самом деле означает сообщение об ошибке (может быть, я неправильно понял)?Что я должен проверить?

Спасибо за любую помощь

Клаус


Информация о системе:

1 Ответ

3 голосов
/ 12 августа 2010

Я наконец-то нашел, что было не так.

Мой пакет является пакетом Spring Dynamic Module, и я допустил ошибку в конфигурации bean-компонента (используйте «ref» вместо «value» в конструкторе-arg). Обычно ошибки конфигурации пружины сообщаются как таковые - я не знаю, почему текущая ошибка привела к вводящему в заблуждение сообщению.

EDIT:

Неправильная конфигурация Spring не приводит к конфликту . В конце концов это был импорт пакета org.apache.log4j , который экспортируется разными пакетами (в моем контейнере FUSE ESB) и, очевидно, отличался от тех пакетов, которые я пытался установить.

Пытаясь решить мою проблему, я нашел статью Диагностика OSGi использует конфликты , которые я нашел полезными для понимания проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...