2009-11-10 6 views
9

Простая утилита: собрать продукт Eclipse, используя простые скрипты, просто сбрасывая пакеты в плагины dir. Это использовалось для работы с 3.3 - с 3.5 сломанной: мое приложение не запускается, так как плагин приложения не найден.Может ли Eclipse 3.5 обнаружить все пачки в директории плагинов?

Вопрос: что это самый простой способ исправить это? Кажется, это единственная боль во всем процессе обновления для меня.


Попытки: Я предполагаю, что это не является ни-ни для P2: он сохраняет файл bundles.info вместо этого, что, вероятно, очень умный .. немного слишком умный для меня.

Некоторые идеи, которые я имел:

  1. можно просто пропустить P2 вообще и вернуться к простой старый, простой -dirty- механизм обнаружения?
  2. можно настроить плагины реж как «наблюдаемому каталог»
    • выглядит как мне нужно использовать p2.reconciler для этого .. Ой, подождите, это осуждается уже :-(bug 251561 .. (спасибо VonC для указатель)
  3. может это старая установка в config.ini еще работает? (который теперь заменен на «simpleconfigurator») osgi.bundles=[email protected]:start, [email protected]:start, [email protected]
  4. я должен называть) директора (p2? «пожалуйста забрать мой плагины вверх ")
  5. Я бы избегал папки dropin для этого - это больше для конечных пользователей .
  6. Я бы не стал возиться с bundles.info, если это возможно.

Меня не интересуют все эти умные функции в моем продукте, но на самом деле пользователи вообще не используют встроенный механизм обновления. Так что я хотел бы KISS (то есть: просто запустить) и добавить дополнительную поддержку при необходимости.

Я спросил об этом по телефону Eclipse forums, но ответа пока нет, так что было бы действительно благодарно за некоторое просветление. Кроме того, не стесняйтесь исправить меня по предположениям - я только что прочитал P2 docs, которые иногда кажутся запутанными. Спасибо!


Ответ: на самом деле вариант 3 выше, кажется, работает после того, как все - благодаря Francis для подтверждения этого! (это не сработало изначально, но это, вероятно, было вызвано некоторыми недостающими папками). Моя единственная проблема с этим сейчас - некоторые пакеты Eclipse на самом деле требуют простого конфигуратора. Поэтому я задаюсь вопросом, не заменит ли это его решение на линии.

+0

Просто добавил несколько источников информации о каталоге p2 dropins, n ответ на ваш комментарий. – VonC

ответ

5

Вы можете изменить свою конфигурацию/config.ini файл не использовать org.eclipse.equinox.simpleconfigurator (который делает конфигурацию p2 на основе) и вместо того, чтобы использовать org.eclipse.update.configurator, который является старый способ просто настроить все, что находится в каталоге плагинов. Это должно дать вам то, что вы хотите.

+0

Я только пришел к тому же выводу, который, кажется, работает наконец. Мои предыдущие испытания провалились на этом: у меня появились ложные NCDFE и таинственные аварии, которые привели меня к мысли, что невозможно «вернуться к старой школе». Теперь, когда я начал с нуля (возможно, очистив реальную проблему с корнем некоторых других пропавших пучков), все выглядит намного лучше :) В любом случае, спасибо за подтверждение этого! Я собирался добавить ответ для этого. Однако некоторые пулы затмений (например, JDT) явно требуют простогоконфигуратора (который я нахожу немного странным). Считаете ли вы, что в старой школе все в порядке с этими? – inger

+0

Я не знаю, что вы подразумеваете под пучком, требующим простогоконфигуратора. Насколько я знаю, это функция среды (как указано в config.ini), а не что-то, что может быть определено пакетом. Можете ли вы рассказать о том, что вы имеете в виду здесь? –

+0

Несомненно. Существует пакет org.eclipse.equinox.simpleconfigurator_1.0.200.v20090831.jar, а другой зависит от него с помощью Require-Bundle в MANIFEST.MF: org.eclipse.jdt.junit_3.6.0.v20091026-1200.jar. – inger

1

Возможно, this поможет вам (снято в темноте)? Я нашел это при обновлении моей установки Eclipse до Galileo и попытке установить мой Flex Plugin.

+0

Спасибо за это, но это другой вариант использования - он полезен для совместного использования мест плагинов с использованием ссылок. Я не стал бы вводить такие аномалии в свой продукт из коробки. – inger

+0

Да, я не разработчик Eclipse, но я подумал, что сделаю это. Удачи. –

5

Даже если он не в полной мере ответить на то, что вы после этого, вы можете указать в eclipse.ini (как один I describe here):

-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins 

То же указать p2, чтобы контролировать любую директорию по вашему выбору, чтобы обнаруживает в нем плагины.


Другим источником идеи может быть эта статья: Composing and updating custom Eclipse distros

Это не сложно создать продукт на основе функций, который включает в себя такие вещи, и сделать product build, чтобы в конечном итоге с чем-то вроде этого:

alt text


Примечание: концепция сверки подробно описана в eclipse Wiki.

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

Часть этого механизма - Dropins Reconciler. Хотя, как показывает bug 251561, не рекомендуется размещать там слишком много плагинов.

+0

Приветствия за это. Таким образом, в основном, это способ реализовать «просмотренные каталоги» (вторая альтернатива в моем Q). Я видел этот вариант, упомянутый в разных блогах, но не был ясен, если он поступает правильно. Можете ли вы добавить несколько каналов? Можете ли вы добавить сами плагины? Является ли это документированным вообще? Ничего в справочной системе, ни на p2 wiki (которая, кажется, имеет сотни страниц, но очень мало актуальна или конкретна, чем бред о том, как классная система ... в принципе :-) Во всяком случае, Попробуем - спасибо миллион за ваши намеки. – inger

+0

Кроме того, почему использование -D vmarg, что не добавляет его в config.ini? В соответствии с директивой eclipse.ini предназначен для общих настроек vm - все остальное должно войти в конфигурацию/config.ini. См. «Нижняя строка» http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html – inger

+0

@inger: хорошая точка, но я всегда менял один конфигурационный файл: eclipse.ini. Он всегда распространяется с помощью eclipse, и мне не нужно изменять несколько файлов. – VonC

 Смежные вопросы

  • Нет связанных вопросов^_^