Этот вопрос трудно обобщить, и я не провел утомительного полного анализа, необходимого для этого, поэтому я отвечаю на свой собственный вопрос и надеюсь, что он поможет другим, кто ищет ту же ошибку.
При экспорте плагина я получаю сообщение об ошибке: «При генерации пути к классу обнаружен цикл», но я не вижу этот цикл, изучая зависимости каждого плагина.
Проблема заключается в том, что здесь есть фрагмент. Один из плагинов в цепочке, скажем, это plugin.x, выше, является хостом фрагмента для другого плагина, который не указан в цепочке зависимостей, и что у этого второго плагина есть зависимость, которая вводит цикл.
Давайте назовем плагин, который не указан в цепочке зависимостей, «plugin.x1».
В файле MANIFEST.MF для plugin.x1 я вижу атрибут «Фрагмент-хост: a.b.c.plugin-x». Этот атрибут делает плагин-x зависимым от плагина-x1.
Но другой атрибут в файле MANIFEST.MF для plugin.x1 гласит: «Импорт-пакет: a.b.c.plugin-w».
Итак, зависимость: w зависит от x; х является фрагментом хоста для х1; и x1 зависит от w. Таким образом, цикл.
Чистое решение: перепроектировать мой код, чтобы избежать циклических зависимостей, избегая конфигурации хоста фрагмента.
Быстрое и грязное решение, которое работает для меня: закройте проект plugin.x1 всякий раз, когда я хочу экспортировать свой plugin.u.