Я попытался преобразовать проект E4 / OSGI / GEF / JavaFx, который использует JRE 8, в JRE 11 и OpenJFX 11, и нашел способ сделать это.
В моем случае я использую SWT и javafx.embed.swt.FxCanvas
.Включение пользовательской библиотеки JavaFX в путь к модулю не работало, генерируя ошибки класса not found во время компиляции;но в том числе библиотека в classpath работала.
Я также не смог запустить приложение, используя --module-path
аргументы;он дал NoClassDefFoundError
исключение для org.eclipse.swt.widgets.Canvas
Мое решение использует E (fx) clipse, что также может быть третьим вариантом для вас.После включения библиотек javafx в путь к классам и включения org.eclipse.fx.osgi
в конфигурацию проекта я использовал следующие параметры виртуальной машины для загрузки классов JavaFX с использованием E (fx) clipse.
-Dosgi.framework.extensions=org.eclipse.fx.osgi -Defxclipse.java-modules.dir=[openjfx-lib-directory]
Вы также можете добавить -Defxclipse.osgi.hook.debug=true"
, чтобы увидеть отладочные сообщения из E (fx) clipse при загрузке классов.