OSGI и JavaFX
JavaFX отсутствует в системном загрузчике OSGI.
Вот почему вы не можете получить доступ к классам JavaFX в пакетах OSGI.
Обычно вы избегаете этого, передавая org.osgi.framework.system.packages.extra для реализации osgi, чтобы включить пакеты JavaFX.
В моем приложении JavaFX & OSGI я использую pax runner для создания пакетов osgi. Пакеты JavaFX добавляются к дополнительному свойству пакета, а внутри pax runner JavaFX работает нормально.
В моей установке eclipse я использую плагин e (fx) для клипа, чтобы заставить eclipse молчать, жалуясь на отсутствие импорта javafx.
Теперь я попытался передать свойство org.osgi.framework.system.packages.extra в конфигурации запуска eclipse для отладки моего приложения в eclipse.
Но eclipse не принимает мой параметр и игнорирует org.osgi.framework.system.packages.extra и бросает java.lang.NoClassDefFoundError, если я передаю ему все необходимые пакеты javafx.
Это мой конфигурационный файл Launch.
Простой отладочный вывод (System.out.println(System.getProperty("org.osgi.framework.system.packages.extra"))) показывает, что свойство было загружено, но похоже, что равноденствие игнорирует его.
Equinox пропускает extclassloader, который вам нужно настроить с помощью -Dorg.osgi.framework.bundle.parent = ext или даже проще использовать пакеты времени выполнения efxclipse - ознакомьтесь с нашими учебниками и задайте больше вопросов на нашем форуме