суббота, 16 мая 2009 г.

Знакомимся: Eclipse Orbit - каталог бандлов, содержащих библиотеки третьих лиц


Я думаю, пора немного отвлечься от теории работы с OSGi и написать о чем-нибудь практическом. Например, об Eclipse Orbit.

Eclipse Orbit - репозиторий бандлов, инкапсулирующих библиотеки сторонних (т.е. не эклипсовских) разработчиков и доступных для использования в Eclipse-проектах. Репозиторий поддерживает последние и вместе с тем старые версии библиотек. Все организовано таким образом, чтобы облегчать нам, разработчикам, сборку и пересборку проектов. Содержимое Orbit можно скачать или собрать из исходников.

Одной из основных целей проекта является исключение несогласованности в наименовании, версионировании и представлении бандлов. Согласитесь, удобно знать, что ты всегда получишь последние версии библиотек в виде бандлов, эти библиотеки не будут конфликтовать друг с другом и у тебя не будет никаких проблем при их использовании.

Понятно, что библиотеки, как правило, зависят друг от друга, например Jetty нужен servlet-api. В Orbit и Jetty и servlet-api представлены отдельными бандлами. Это позволяет не помещать все зависимости в один бандл, ведь тот-же самый servlet-api нужен не только для Jetty. Единственное неудобство - при скачивании не понятно от каких бандлов завист нужный нам. Т.е. единственный способ посмотреть манифест бандла, в котором указана директива Import-Package и догадаться по наименованиям пакетов. Особо ценно здесь то, что имена бандлов в Orbit представлены как раз именем корневого пакета бандла (например, org.mozilla.javascript).

Собственно, это все, что я хотел рассказать об Orbit. Свои вопросы вы как всегда можете задавать в комментариях. Тему OSGi я забрасывать не планирую, ведь тут есть еще столько интересного. Одна разработка eclipse-плагинов чего стоит.

Понравилось сообщение - подпишитесь на блог или читайте меня в twitter

З.Ы. Если Вы есть во Вконтакте - вступайте в группу Russian Eclipse Community.

6 комментариев:

  1. Привет!
    Спасибо за полезные статьи...
    Ждем продолжения ;)

    - Понятие Eclipse runtime (Eclipse core, Eclipse plugins)
    - Точки расширения Eclipse, примеры
    - Сравнение точек расширения Eclipse и сервисов OSGi
    Может быть опубликую небольшое введение в Eclipse RPC.

    Если план еще в силе )

    ОтветитьУдалить
  2. План еще в силе, думаю над очередной статьей

    ОтветитьУдалить
  3. а оно (пакеты в орбите) как нибудь конвертируется в мавен зависимости? или наоборот?

    ОтветитьУдалить
  4. Не изучал данный вопрос, по крайней мере стандартных средств не видел. Но, не думаю, что их сложно написать )

    ОтветитьУдалить
  5. А разве использование import-packages не является дурным тоном?!

    ОтветитьУдалить
  6. По этому поводу есть разные мнения. В частности некоторые считают, что наоборот так и надо делать.

    ОтветитьУдалить

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!