суббота, 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 комментариев:

Руслан комментирует...

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

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

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

Samolisov Pavel комментирует...

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

Анонимный комментирует...

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

Samolisov Pavel комментирует...

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

halyavin комментирует...

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

Pavel Samolisov комментирует...

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

Отправить комментарий

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