Пул пакетов Eclipse, как его можно использовать?

#eclipse #osgi #bundle #pool #p2

#eclipse #osgi #пакет #Бассейн #p2

Вопрос:

В P2 Eclipse есть возможность использовать пул пакетов для повторного использования общего пакета между приложениями, но какие возможности у меня есть с этим?

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

Нравится:

 Application1/
   configuration/
      config.ini
      ... other configuration files for Application1...
   Application1.exe
   Application1.ini
Application2/
   configuration/
      config.ini
      ... other configuration files for Application2...
   Application2.exe
   Application2.ini
...
common_bundle_pool_for_all_users/
   .p2/
      org/eclipse.equinox.p2.core
      org/eclipse.equinox.p2.director
      org/eclipse.equinox.p2.engine
      org/eclipse.equinox.p2.touchpoint.eclipse
  

и, возможно, даже

 Documents and Settings
   Username
      .p2/
         plugins/      <-- unique plugins only for this user
  

Ответ №1:

Пул пакетов — хорошая концепция, но она не такая гибкая, как ожидалось.

Например, вы должны установить приложение на основе eclipse с опцией объединения пакетов, если вы хотите, чтобы несколько приложений совместно использовали пакеты. Не существует простого способа преобразовать / переключить существующий упакованный eclipse (например, архивы, загруженные с eclipse.org ) использовать пул пакетов.

Это означает, что вы должны использовать приложение-установщик (у команды equinox p2 есть пример приложения с именем p2.installer) для установки вашего приложения на базе eclipse с использованием пула пакетов. Это первый случай, указанный вами.

Возможный сценарий, указанный вами, рассматривается в случае установки общего доступа. Он всегда использует эту структуру, когда ваш экземпляр eclipse доступен только для чтения. У пользователей нет прав на изменение конфигурации самого eclipse, поэтому установите плагины сторонних производителей в папку пользователя. Если у вас есть несколько пакетов eclipse (таких как разработка подключаемых модулей, cdt, wtp и т.д.), Установленных в Program files в Windows 7 с включенным UAC, эти пакеты eclipse могут совместно использоваться в вашей домашней папке.