Экспорт продукта Eclipse: ошибка фрагмента (плагин хоста не найден)

У меня есть рабочее пространство в Eclipse RCP 3.8.2 IDE с 3 плагинами и 2 фрагментами:

  • Плагины P1 и P2
  • Фрагмент BONECP1 (P1 - ХОЗЯИН)
  • Фрагмент BONECP2 (P2 - ХОЗЯИН)
  • ГЛАВНЫЙ плагин (требуется P1 и P2)

Жизнь отлично работает при запуске плагина MAIN внутри IDE... но при экспорте плагина MAIN (как продукта Eclipse RCP) фрагмент BONECP2 вызывает эту ошибку:

образец изображения

Есть идеи? Подсказки:

  1. Фрагменты являются клонами (классовыепути одинаковы!)
  2. Иногда (если какая-либо конфигурация изменена во фрагменте BONECP1), фрагмент BONECP2 не может найти некоторые классы, которые загружены и присутствуют в HOST. Переконфигурирование фрагмента BONECP1 (делая его снова не singleton / singleton) решает проблему!!
  3. Если операция, вызвавшая ошибку, повторяется, то классы, не найденные ранее, будут найдены! (экспортированная версия и внутри IDE)
  4. Удаление минимальной версии HOST фрагмента BONECP2 устраняет ошибку EXPORT... но тогда фрагмент BONECP2 не может найти некоторые классы, которые загружены и присутствуют в HOST!

Что-то не хватает в моем понимании фрагментов? Почему затмение в порядке с этой конфигурацией внутри IDE, а не во время экспорта?

Вот манифест фрагментов BONECP:

Manifest-Version: 1.0
Eclipse-BundleShape: jar
Bundle-ManifestVersion: 2
Bundle-Name: com.jolbox.bonecp
Bundle-SymbolicName: BONECP1;singleton:=true
Bundle-Version: 0.7.0.qualifier
Fragment-Host: P1;bundle-version="1.0.0.qualifier"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
 libraries/bonecp-0.7.0.jar,
 libraries/guava-r08.jar,
 libraries/slf4j-api-1.6.1.jar,
 libraries/slf4j-log4j12-1.6.1.jar
Export-Package: com.jolbox.bonecp

0 ответов

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