Экспорт продукта Eclipse: ошибка фрагмента (плагин хоста не найден)
У меня есть рабочее пространство в Eclipse RCP 3.8.2 IDE с 3 плагинами и 2 фрагментами:
- Плагины P1 и P2
- Фрагмент BONECP1 (P1 - ХОЗЯИН)
- Фрагмент BONECP2 (P2 - ХОЗЯИН)
- ГЛАВНЫЙ плагин (требуется P1 и P2)
Жизнь отлично работает при запуске плагина MAIN внутри IDE... но при экспорте плагина MAIN (как продукта Eclipse RCP) фрагмент BONECP2 вызывает эту ошибку:
Есть идеи? Подсказки:
- Фрагменты являются клонами (классовыепути одинаковы!)
- Иногда (если какая-либо конфигурация изменена во фрагменте BONECP1), фрагмент BONECP2 не может найти некоторые классы, которые загружены и присутствуют в HOST. Переконфигурирование фрагмента BONECP1 (делая его снова не singleton / singleton) решает проблему!!
- Если операция, вызвавшая ошибку, повторяется, то классы, не найденные ранее, будут найдены! (экспортированная версия и внутри IDE)
- Удаление минимальной версии 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