Как включить обновление программного обеспечения в продукте Eclipse?

В моем проекте Eclipse я определил простой плагин (связку), функцию, которая включает в себя плагин, и продукт, который включает эту функцию.

Когда я экспортирую продукт (через "Мастер экспорта продукта Eclipse" редактора продукта), он создает продукт. Я могу запустить продукт, все работает нормально (плагин есть и делает то, что должен делать).

Единственная проблема заключается в том, что пользователь продукта не может установить дополнительные функции Eclipse с помощью меню "Обновление программ" ("Справка" -> "Обновления программ"). Подменю "Обновления программного обеспечения" ("Найти и установить..." и "Управление конфигурацией...") отображаются серым цветом.

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

Я пытался добавить несколько плагинов org.eclipse.equinox.p2. *, Но он все еще не работает.

  <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
  <plugin id="org.eclipse.equinox.p2.console"/>
  <plugin id="org.eclipse.equinox.p2.core"/>
  <plugin id="org.eclipse.equinox.p2.director"/>
  <plugin id="org.eclipse.equinox.p2.director.app"/>
  <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
  <plugin id="org.eclipse.equinox.p2.discovery"/>
  <plugin id="org.eclipse.equinox.p2.discovery.compatibility"/>
  <plugin id="org.eclipse.equinox.p2.engine"/>
  <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
  <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
  <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
  <plugin id="org.eclipse.equinox.p2.metadata"/>
  <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
  <plugin id="org.eclipse.equinox.p2.operations"/>
  <plugin id="org.eclipse.equinox.p2.publisher"/>
  <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
  <plugin id="org.eclipse.equinox.p2.ql"/>
  <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
  <plugin id="org.eclipse.equinox.p2.repository"/>
  <plugin id="org.eclipse.equinox.p2.repository.tools"/>
  <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
  <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
  <plugin id="org.eclipse.equinox.p2.transport.ecf"/>
  <plugin id="org.eclipse.equinox.p2.ui"/>
  <plugin id="org.eclipse.equinox.p2.ui.discovery"/>
  <plugin id="org.eclipse.equinox.p2.ui.importexport"/>
  <plugin id="org.eclipse.equinox.p2.updatechecker"/>
  <plugin id="org.eclipse.equinox.p2.updatesite"/>

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

3 ответа

Решение

Пункт меню " Установка нового программного обеспечения " добавляется с помощью плагина org.eclipse.equinox.p2.ui.sdk, Вы должны включить его, чтобы показать этот пункт меню в вашем RCP.

Если ваш RCP основан на функциях, я думаю, что вы должны включать только функции, связанные с p2, чтобы упростить процесс.

Я также столкнулся с той же проблемой и решил следующие шаги;

В файле конфигурации продукта

.product file --> In Configuration Tab

Specify custom start levels for the following plug-ins,
    org.eclipse.equinox.ds start level 2, auto start true 
    org.eclipse.equinox.simpleconfigurator start level 1, auto start true
    org.eclipse.equinox.common start level 2, auto start true
    org.eclipse.core.runtime start level 4, auto start true

Я не знаю полного списка необходимых пакетов p2, но вы легко можете его сгенерировать: используйте новый мастер для создания проекта приложения e4 > e4. В результате создается файл продукта, содержащий все пакеты, необходимые для обновляемого продукта p2.

Если у вас есть продукт на основе функций, функции org.eclipse.rcp а также org.eclipse.e4.rcp также должен дать вам обновляемый продукт

Другие вопросы по тегам