2014-09-19 3 views
0

Один из наших пакетов имеет «импорт» на joda-time/2.2.0, но когда я его запускаю, он всегда подбирает joda-time/1.6.2, доступный в системную папку Karaf. Я не уверен, как это может произойти? есть ли способ рассказать карафу, чтобы он не выбрал системный пакет по указанному нами? обратите внимание, что мы удаляем пакеты для развертывания папки, чтобы установить их.Комплект OSGi собирает системный пучок по указанному комплекту

ответ

0

Просто добавьте версию, которую вам нужно импортировать после того, как вы импортируете такой пакет.

Import-Package: org.xx.xx;version=1.5.0 

См this

+0

Мы попросили соответствующую команду сделать это! Возможно, с рядом вариантов. –

1

Прежде всего, убедитесь, что вы действительно нужно две версии этого расслоения. Да, вы можете сделать эту работу, но в целом, если вам действительно не нужны разные версии пакетов, присутствующие в вашем приложении, избегайте этого. Проверьте, какие пакеты потребляют joda-time и какие диапазоны версий они задают в своем заявлении Import-Package.

Я не уверен, если вы знаете об этом, но если импортировать пакет, вы всегда , явно или неявно указать диапазон версий, вы совместимы с:

  • Если вы не указывайте какую-либо версию, вы фактически утверждаете, что совместимы с диапазоном версий от нуля до бесконечности.
  • Если вы указали только одну версию, вы заявляете, что совместимы с этой версией и чем-то выше, чем до бесконечности.
  • Если вы укажете две версии, сообщите, что вы совместимы с этим диапазоном, и вы можете использовать квадратные или круглые скобки, чтобы указать, включает ли это или исключает границы.

Не указывать диапазон явно считается плохой практикой. OSGi имеет технический документ по семантическому управлению версиями, который объясняет это более подробно.

Итак, убедитесь, что вы понимаете, какие версии ваших пакетов, которые потребляют время от времени, посмотрите, можете ли вы развернуть только одну реализацию joda-времени и убедитесь, что ваш собственный пакет также использует диапазон версий, совместимый с этим.

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