Вот что я должен был сделать, чтобы это заработало.
Мне пришлось добавить com.sun.management к значению systemProperties для системного пакета, так как я был новичком в OSGI, мне потребовалось некоторое время, чтобы разобраться. Я использую maven-pax-plugin, поэтому мне нужно было добавить следующее свойство. Причиной, по которой это не сработало по умолчанию, было равноденствие. Мой контейнер osgi по умолчанию не включает пакеты com.sun. * В системный комплект по умолчанию.
Это было очевидно, если посмотреть на системный пакет с помощью команды bundle 0, так как bundle 0 - это всегда системный пакет, который был чем-то новым для меня.
<param>--sp=com.sun.management</param>
после добавления этой команды системный пакет включает com.sun.management и мой пакет развернут без проблем.
Причину, по которой равноденствие не включает пакеты com.sun в systemProperties по умолчанию, см. здесь . (Java-программа, которая напрямую вызывает пакеты sun. *, Не гарантированно работает на всех Java-совместимых платформах. Фактически, такая программа не гарантированно работает даже в будущих версиях на той же платформе.)
Таким образом, у вас есть два варианта добавления com.sun в контейнер osgi.
Решение A ': комплекты расширений
Они действуют как фрагменты; они не являются собственными связками, а привязаны к хосту. Пакеты расширений представляют собой особый вид фрагментов, которые прикрепляются только к системному пакету для предоставления необязательных частей Framework. Этот механизм можно использовать для создания пустого расширения, которое просто объявляет необходимые пакеты, оставляя загрузку своему хост-пакету (в данном случае Framework). Я не пошел по этому маршруту, так как второй вариант был реализован быстрее.
Решение B: Делегирование загрузки
В итоге я выбрал делегирование загрузки. Это позволяет пользователю создавать «подразумеваемые» пакеты, которые всегда будут загружаться загрузчиком родительского класса инфраструктуры, даже если пакеты не обеспечивают надлежащий импорт. Я достиг, установив системные пакеты для включения com.sun.management.
См. Следующую превосходную ссылку , которая более подробно описывает всю проблему.