Вот блок-схема, которая может помочь вам найти и принять решение среди различных поставщиков, предоставляющих реализацию Java 11.

но я узнал о том, что JavaFX не включен в Java 11, и у меня возник вопрос, как это будет работать.

Прямо сейчас я поддерживаю приложение, которое нацелено на Java 8, использует в основном Swing, но немного JavaFX, и имеет пользовательскую базу не для разработчиков. Некоторые из этих пользователей работают на старых операционных системах, поэтому я бы хотел продолжить ориентироваться на Java 8.

Тем не менее, Java 11 выйдет в следующем месяце, и я обеспокоен тем, что некоторые пользователи новых операционных систем перейдут на Java 11, и компоненты приложения JavaFX перестанут работать.

Так каков наилучший путь вперед, если вы хотите продолжить ориентироваться на Java 8, но JavaFX работает для тех, кто устанавливает JRE 11? Я вижу несколько вариантов, ни один из которых не идеален:

Требуется установка JavaFX отдельно. Если это так, мне нужно знать, какой выпуск - скорее всего, специфичный для ОС SDK отhttps://gluonhq.com/products/javafx/? Не идеально, так как это еще одна установка, но у меня уже есть инструкции по установке Java для тех, у кого ее нет.Объедините JRE и JavaFX и имейте сценарии запуска, которые заставляют использовать этот JRE. Не идеально, потому что размер загрузки резко увеличится, и это потребует отдельных загрузок для каждой ОС, но я уже делал дистрибутивы, которые объединяют JRE.Возврат к Swing вместо JavaFX, если обнаружена Java 11+. Я потенциально мог бы сделать это, так как мое приложение начиналось как Swing, и мигрировала только часть, но это также не привлекательно, так как более новая, специфичная для JavaFX функциональность, которую я добавил, была бы потеряна.Попробуйте включить среду выполнения JavaFX в виде файла .jar и загрузить его в путь к классам вручную, возможно, только если обнаружена Java 11+?

Мне любопытно, что вы думаете, и если есть лучший вариант, я упустил из виду. Я не ожидал, что JavaFX будет удален из JRE когда-нибудь, когда я его принял!

Ответы на вопрос(2)

Ваш ответ на вопрос