opendaylight: использование внешнего файла jar

Разрабатываю приложение на opendaylight Carbon (на основе Karaf). Мне нужно использовать библиотеку (в частности, dnsjava) в моем комплекте. Как мне включить это?

Я пробовал следующее, что не сработало:

  1. В свой файл functions/pom.xml я включил зависимость mvn для своего файла jar.

  2. В мои features/src/main/features/features.xml я добавил пакет:

    <bundle>wrap:mvn:dnsjava/dnsjava/${dnsjava.version}</bundle>
    

Однако у меня все еще есть ошибка, когда я запускаю свою функцию:

    Error executing command: Error executing command on bundles:
Unable to execute command on bundle 278: The bundle "gov.nist.sdnmud.impl_0.1.0.SNAPSHOT [278]" could not be resolved. Reason: Missing Constraint: Import-Package: org.xbill.DNS; version="[2.1.0,3.0.0)"

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


person LostInTheFrequencyDomain    schedule 23.09.2017    source источник


Ответы (1)


Я не эксперт, но если артефакт не имеет свойств OSGi в банке, что, вероятно, является причиной того, что вы добавили префикс "wrap", то вам необходимо вручную установить необходимые свойства OSGi в файле functions.xml. строка зависимости в странном синтаксисе микроформата.

В нашей среде мы должны сделать что-то вроде этого:

wrap:mvn:<group>/<artifact>/<version>$Bundle-SymbolicName=<bundlename>&amp;Bundle-Version=<version>

Эта проблема не имеет ничего общего с opendaylight.

person David M. Karr    schedule 24.09.2017
comment
Я сделал то, что вы предложили. Однако я все еще не могу запустить пакет dnsjava. Ошибка при выполнении команды для пакетов: невозможно выполнить команду для пакета 277: пакет dnsjava_2.1.8 [277] не может быть разрешен. Причина: Отсутствует ограничение: Import-Package: android.os; версия=0.0.0 - person LostInTheFrequencyDomain; 24.09.2017