guice-assistinject.jar на целевой платформе Eclipse, но не может быть добавлен в зависимостях подключаемого модуля

Я разрабатываю приложение Eclipse RCP с помощью Eclipse 4.4 Luna M5 и использую Guice 3.0. Поэтому я добавил guice.jar в свой целевая платформа, и для каждого подключаемого модуля, который я разрабатываю, я могу добавить пакет com.google.inject к зависимостям подключаемого модуля, используя редактор манифеста подключаемого модуля Eclipse. Пока все работает нормально.

Теперь проблема: я хочу использовать инъекции с помощью guice (@Assisted).

Поэтому я добавил guice-assistinject.jar на свою целевую платформу. (Я использую файл .target = файл определения Eclipse Target).

Затем на вкладке «Содержимое» редактора файлов .target Eclipse правильно показывает мне пакет фрагментов com.google.inject.assistinject 3.0 из guice-assistinject.jar, но я не могу добавить этот пакет или экспортированный пакет этого пакета в зависимости проектов плагинов. Я развиваюсь.

Когда я нажимаю «Добавить» в редакторе манифеста плагина, com.google.inject.assistedinject нет в списке добавляемых зависимостей? Что случилось?


person user -27    schedule 19.03.2014    source источник
comment
Поскольку это было решением, вы на самом деле не пытались добавить (...) экспортированный пакет этого пакета, прежде чем задавать вопрос, не так ли? Вопрос и ответ имели бы больше смысла, если бы вы убрали эту деталь из вопроса.   -  person oberlies    schedule 31.03.2014


Ответы (1)


Вот мой комментарий как ответ снова:

ОК, решение найдено: это проблема с PDE, см. принятый ответ в пакете Eclipse OSGi потребовать фрагмент другого пакета

После изменения манифеста моего guice-3.0.jar на целевой платформе, как описано в ссылке выше, мне нужно было сделать следующее:

  1. Перезагрузите целевую платформу (Windows -> Настройки -> Разработка подключаемых модулей -> Целевая платформа) и перезапустите eclipse.
  2. Удалите связку com.google.inject из обязательных связок моего плагина.
  3. Добавьте все необходимые пакеты com.google.inject в «импортированные пакеты» моего плагина. Теперь в списке пакетов я вижу com.google.inject. Assistanceinject.Assisted и импортирую его!
person user -27    schedule 20.03.2014