JavaFX-приложения, предназначенные для Java 8 - Как продолжать работу с Java 11? - PullRequest
0 голосов
/ 01 сентября 2018

Недавно я узнал о том, что 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.
  • При обнаружении Java 11+ используйте Swing вместо JavaFX. Я потенциально мог бы сделать это, так как мое приложение начиналось как Swing, и мигрировала только часть, но это также не привлекательно, так как более новая, специфичная для JavaFX функциональность, которую я добавил, была бы потеряна.
  • Попробуйте включить среду выполнения JavaFX в виде файла .jar и вручную загрузить его в путь к классам, возможно, только если обнаружена Java 11+?

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

1 Ответ

0 голосов
/ 01 сентября 2018

По моему мнению, дни, когда вы просили своих пользователей установить Java на своих клиентских компьютерах, прошли. Лучшее решение - создать зависимый от операционной системы установщик, который связывает все с приложением. Мне также интересно, если размер такой связки все еще действительно имеет значение. Одно видео, загруженное с YouTube, вероятно, намного больше. Вместо этого вы избавляете себя от множества головных болей.

...