Пакет Bndtools и org.osgi.util.tracker

Я использую Bndtools в Eclipse IDE. Это здорово и работает нормально. Я могу добавить пакет osgi.core в «Путь сборки», отредактировав файл bnd (он использует репозитории bndtools). Теперь мне нужен пакет org.osgi.util.tracker, но я не могу найти его в «Пути сборки», редактируя файл bnd. Как мне это сделать ?

Спасибо, Паоло


person ppatierno    schedule 14.12.2015    source источник


Ответы (2)


org.osgi.util.tracker — это пакет, но в компиляторе Java нам нужно поместить целые JAR-файлы в путь к классам сборки.

Этот пакет происходит из пакета/JAR под названием osgi.cmpn, который представляет спецификации OSGi Compendium. Так что просто добавьте osgi.cmpn к -buildpath вашего файла bnd.bnd, и нужный вам пакет будет виден.

Если вы не знаете, из какого JAR/пакета исходит пакет, вы можете использовать кнопку «Расширенный поиск» в представлении «Репозитории» в Bndtools. Если вы не можете найти его там, вам придется пойти и получить JAR из внешнего мира и импортировать его в свой репозиторий. Просто погуглив имя пакета, вы обычно узнаете имя нужной библиотеки.

person Neil Bartlett    schedule 14.12.2015
comment
Да, я знаю, что org.osgi.util.tracket — это не банка, а пакет, но я не знал о замечательной функции расширенного поиска ;-) Спасибо! - person ppatierno; 14.12.2015
comment
На самом деле org.osgi.util.tracker теперь входит в osgi.core. - person BJ Hargrave; 14.12.2015
comment
Хорошо, теперь я полагаю, вы имеете в виду R6. Таким образом, можно добавить osgi.core; version=6 к вашему -buildpath. - person Neil Bartlett; 14.12.2015

Если вы используете [OSGi enRoute][1], то обнаружите, что компилировать нужно только для базового API JAR (все проекты enRoute так настроены). Это делает вашу жизнь намного проще. Базовый API содержит все API (и ТОЛЬКО API) для наиболее распространенных задач, от самого скромного «Hello World» до REST-сервера с веб-интерфейсом пользователя.

[1] http://enroute.osgi.org

person Peter Kriens    schedule 14.12.2015