Как лучше поддерживать цель подключаемого модуля Eclipse RCP?

У меня есть плагин для приложения RCP, использующего BIRT. У меня есть цель для создания моего приложения, которое содержит только необходимые плагины/функции. Недавно я обновил версии подключаемого модуля BIRT в своей IDE, что привело к несовместимости файлов проекта с предыдущими версиями BIRT. У меня установлена ​​старая версия BIRT, и мне нужно обновить ее до более новых плагинов.

В прошлом я вручную обновлял jar-файлы плагинов в целевом объекте, но BIRT — сложная платформа с огромным количеством зависимостей. Есть ли какая-нибудь полезность или способ организовать мою цель по-другому, чтобы упростить управление ею в будущем?


person Robert Van Hoose    schedule 13.01.2009    source источник


Ответы (2)


Я бы рекомендовал хранить все компоненты отдельно и не копировать их в одну папку. Вы можете использовать редактор Target Definition (см. File / New / Other... / Target Definition). Таким образом, после загрузки всех частей вы можете распаковать их локально и собрать свою целевую платформу с помощью редактора Target Definition.

Вы также можете сделать то же самое, используя страницу настроек Window / Preferences / Plugin Development / Target Platform. Там вы можете выбрать ранее созданное целевое определение или указать базовую установку Eclipse, а затем использовать кнопку «Добавить ...», чтобы добавить дополнительные компоненты из локальных папок или удаленных сайтов.

Кроме того, насколько я знаю, команда PDE в настоящее время работает над расширением поддержки целевой платформы в Eclipse 3.5. Я думаю, что они планируют разрешить выбирать целевое определение для конфигурации запуска и для каждого проекта.

person Community    schedule 26.01.2009
comment
Я не думал сделать это таким образом. Я попробую и посмотрю, есть ли какие-либо сценарии, которые все еще вызывают проблемы. Спасибо. - person Robert Van Hoose; 26.01.2009

Я не уверен, правильно ли я вас понял, поэтому, пожалуйста, дайте мне знать, если нет.

Когда я использую сторонние библиотеки, я создаю плагин для каждой из них.

Пример:

хстрим библиотека:

  • Импортируйте банки (также исходный код)
  • Добавьте банки в MANIFEST Bundle-ClassPath.
  • Добавьте все пакеты xtream в экспортный пакет MANIFEST.

Когда плагину нужен код библиотеки xstream, он должен зависеть от плагина xtream. Поскольку пакеты общедоступны, каждый плагин может использовать его исходный код.

Когда выходит новая версия xtream, вам нужно обновить только файлы jar, а не зависимые плагины. Иногда вам нужно обновить пакеты экспорта стороннего плагина.

Все зависимые плагины вам не нужно менять.

person Markus Lausberg    schedule 14.01.2009
comment
Маркус, я имел в виду предварительно упакованные плагины с сайтов eclipse. Вмешиваться в них не имело смысла. Проблема в том, что имена файлов немного меняются с каждым выпуском, поэтому для обновления моего целевого каталога мне приходится использовать программу слияния, чтобы добавить новое и избавиться от старого. Это, как правило, немного подвержено ошибкам. Но ваш ответ — это хорошая краткая процедура использования сторонних библиотек :) Возможно, это мой шанс представить сообществу плагин, который сделает это менее ручным. - person Robert Van Hoose; 21.01.2009