Как установить javafx linux
Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka.
Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK.
Все посты в серии JavaFX:
Установка Java
JavaFX, конечно, требует, чтобы у вас был установлен JDK. Получение необходимых зависимостей различается для разных версий Java.
JavaFX был представлен как часть выпуска Java 8. Однако позже он был удален из JDK и
перенесен в отдельный модуль в Java 11.
Maven
Получение и управление зависимостями вручную довольно неудобно, и в реальном приложении Вы бы редко так делали. Гораздо лучше использовать систему управления зависимостями, такую как Maven или Gradle. Таким образом, вы можете просто объявить, какие зависимости вы используете и какие версии, а система позаботится об остальном.
Архетип Maven
Конечно, вы можете настроить свой проект Maven вручную, с нуля. Тем не менее, вы можете предпочесть более удобный способ создания структуры и содержания базового проекта для вас с помощью Maven.
Maven имеет понятие архетипов, которое по существу означает, что вы можете создавать различные типы проекты из шаблона. Существуют многочисленные архетипы для различных типов проектов, и к счастью, есть пара для JavaFX. Архетип, который вы можете выбрать, зависит от того, какую версию Java вы используете.
Вы можете прочитать больше об архетипах Maven в следующем посте: Maven archetypes tutorial.
Архетип Java 8
Вы можете использовать com.zenjava:javafx-basic-archetype, или вы можете найти другие архетипы самостоятельно, если этот вам не подходит.
Вы можете легко сгенерировать проект из командной строки с помощью Maven, используя указанный выше архетип:
Кроме того, вы можете создать новый проект Maven из архетипа прямо в вашей IDE.
Архетип Java 11
Для создания проекта просто запустите:
Ручная настройка Maven
Если вы хотите больше контроля, вы можете настроить свой проект Maven вручную, не генерируя его из архетипа.
Для начала вам понадобятся два компонента. Первый — Maven Plugin для Java FX.
Просто добавьте следующее в ваш pom.xml:
Обратите внимание, что должен указывать на ваш основной класс, который имеет метод main и расширяет javafx.application.Application. Мы расскажем об этом в следующей статье серии.
Вторая часть добавляет зависимость для элементов управления JavaFX:
Gradle
Вы можете использовать неофициальный плагин Gradle Archetype и использовать архетипы Maven, упомянутые выше.
Кроме того, вы можете создать свой проект с помощью Maven из архетипа, а затем преобразовать его в проект Gradle с помощью следующей команды в каталоге, содержащем ваш pom.xml:
Ручная настройка Gradle
Как и в случае ручной настройки Maven, вам нужно добавить плагин JavaFX:
И зависимость для элементов управления:
JavaFX SDK
Есть еще одна возможность использовать JavaFX локально. Вы можете скачать JavaFX SDK. Он содержит все необходимые библиотеки, которые вы можете затем связать с проектом в вашей IDE или добавить в classpath.
Это может быть полезно, когда вы не знакомы с Gradle или Maven и просто для локальной разработки.
При распределении вашего приложения это становится неудобным, так как вам нужно убедиться, что вы включили все необходимые зависимости.
С помощью этой опции вы можете сгенерировать проект без Maven/Gradle в вашей IDE, который содержит все необходимые файлы. В IntelliJ IDEA вы можете просто перейти на:
Java — это язык программирования, разработанный компанией Sun Microsystems, которую потом купила компания Oracle.
Программы, написанные на Java обычно работают в различных операционных системах, то есть являются кроссплатформенными. Для запуска таких программ необходимо наличие в системе Виртуальной машины Java (Java Virtual Machine — JVM), то есть, проще говоря, наличие некоторых дополнительных компонентов, которые обеспечивают возможность запуска Java-программ в системе.
Обычно, когда говорят о том, что в Linux нужно установить Java, то имеют ввиду, что нужно установить Виртуальную машину Java, чтобы получить возможность запускать программы, написанные на Java.
Какие версии Java бывают и чем отличаются
Существует несколько реализаций Java для Linux. Самыми популярными являются OpenJDK и Oracle Java. В Linux обычно пользователь устанавливает одну из этих реализаций.
- Oracle Java — реализация Java для Linux от компании Oracle. В ней содержатся некоторые закрытые (проприетарные) компоненты и компоненты, которые защищены патентами.
- OpenJDK — реализация Java для Linux с открытым исходным кодом.
Обе версии вполне работоспособны и в Linux можно использовать любую из них. Но иногда, для некоторых приложений, рекомендуется использовать Oracle Java.
В Linux пакеты с Java представлены в двух редакциях:
- JRE — Java Runtime Environment — компоненты, предназначенные для запуска Java-программ в Linux.
- JDK — Java Development Kit — компоненты, предназначенные для запуска, компиляции и разработки Java-программ.
Какую версию устанавливать
Рядовому пользователю, которому нужно просто запускать Java-программы, обычно достаточно установить «OpenJDK JRE».
Если потребуется компиляция Java-программ, то нужно будет установить «OpenJDK JDK».
Рассмотрим, как установить Java в Ubuntu Linux. Абсолютно аналогично выполняется установка в Linux Mint и других дистрибутивах, основанных на Ubuntu.
— Я ничего не понял. Что мне устанавливать?— Если вам нужно просто запускать Java-программы в Ubuntu (Linux Mint), то устанавливайте OpenJDK JRE.
Проверка версии Java
Чтобы проверить, установлена ли у вас уже в системе какая-либо версия Java, выполните в терминале команду:
Если Java установлена, то вы получите информацию о том, какие компоненты Java установлены в системе.
Установка OpenJDK
Установка OpenJDK JRE
Для установки OpenJDK JRE в Ubuntu Linux достаточно установить пакет default-jre. Для установки выполните в терминале команду:
Установка OpenJDK JDK
Если вы хотите установить OpenJDK JDK, то нужно установить пакет default-jdk (он также установит default-jre). Для установки выполните команду:
Установка OpenJDK определенной версии
Если вам нужно установить конкретную версию, то выполните одну из следующих команд. В репозиториях Ubuntu сейчас представлены OpenJDK версий 11 и 8.
После установки, можно проверить, какие компоненты Java установлены, выполнив команду:
Установка Oracle JDK
Установка Oracle JDK свежей версии
Свежую версию Oracle JDK можно установить, используя PPA-репозиторий, подготовленный проектом linuxuprising.
Теперь выполним установку Oracle Java версии 12:
Во время установки нужно будет ознакомиться и принять лицензию:
Для установки Oracle Java версии 11 используйте команду:
Установка Oracle JDK старой версии
Как удалить Java
Если у вас установлены пакеты OpenJDK, то для их удаления используйте команду:
Или следующую команду, если требуется также удалить файлы конфигурации (полное удаление OpenJDK):
Для удаления Oracle Java используется команда:
Запуск Java-программ
Если Java установлена в Ubuntu Linux, то для запуска Java-программ обычно достаточно дважды щелкнуть по файлу программы. Он может иметь расширение .jar .
Для запуска .jar файлов из командной строки, выполните команду:
Заключение
Мы рассмотрели, какие версии Java бывают для Linux. Рассмотрели, как установить версию OpenJDK, а также версию Java от Oracle. Обычно начинающий пользователь вообще не понимает, что именно ему нужно установить. Поэтому краткое резюме: Если вам нужно просто запустить какую-нибудь Java-программу в Ubuntu Linux (Linux Mint и других подобных дистрибутивах), то устанавливайте OpenJDK JRE.
Как все-таки заимпортить модуль javafx?
к твоему сведению: javafx всё. официально.
Он теперь отдельно поставляется, так как многие перешли на html5/node/electron/etc за последнее время, в связи с чем развитие замедлилось и не укладывается в стандартные релизы.
Так я знаю, что отдельно, и об этом написал, что поставил openjfx. Но будто в classpath этого модуля нет, хотя:
Не прописывать же мне его вручную?
JavaFX входит в JDK9.
javafx не будет в будущих релизах JDK.
нет, никакого. остался только свинг
а что ему в JDK делать? Большая жирная либа. Не модуляризованная ещё даже.
насколько понимаю, онаь не опенсорцнута полностью, сейчас идут работы по выковыриванию проприетарщины на свет божий, после чего оно будет модуляризовано, выделено в отдельную либу, и повторно передано в опенсорц
Я тут вам в джакарту логотипчиков нарисовал
Голосуй за меня на голосовании! :)
Чем то свастику напоминает.
Попытался совместить старый логотип Sun с новой плашкой Оракла. А у Sun логотип помнишь - тоже свастику напоминал.
Спасибо, полезное чтиво. Но всё же оно не всё, а будет выкинуто на мороз. Если кому-то надо, то будет жить, если нет, значит нет.
Жаль, что Джава официально рип на десктопе. Свинг и прочее это всё-же жуткое лигаси. Аргументы у них странные, ну да ладно.
Да ну, они ж только усложняют все своим стремлением упрощать
в openjdk - нет, а использовать проприетарщину неправославно
Ну и где там все? Еще долго будут вносить исправления, а разработкой займется сообщество. Они ж не считают, что это неудачный и бесперспективный проект. Javafx вроде как заменить swing была должна, нет?
в средневековье остался?
неужели ни у кого предположений нет, в чем дело?
Ты у меня украл время, я опять завис на этом дурацком хостинге картинок, вот вам в отместку.
javafx не будет в будущих релизах JDK.
JavaFX входит в JDK9, а что будет дальше - х.з. - может Java отдадут Google, и она начнёт Андроиды клепать на ней для x86.
а что ему в JDK делать? Большая жирная либа. Не модуляризованная ещё даже.
Что в этих новостях такого, что мне должно помочь? У меня openjdk8 + openjfx c апдейтом 17 года
Жаль, что Джава официально рип на десктопе. Свинг и прочее это всё-же жуткое лигаси
тык оно уже даже и уже не работает на десктопе :-) . ну если говорить про Linux по крайней мере (про другие платформы не знаю — может там и функционирует).
работает только для ситуаций когда у тебя дисплей без HiDpi
ну если всё же говорить о javafx - то для нее это однозначно момент смерти, т.к., я догадываюсь, это мегатонны сложного кода, который толком никто в мире не экплуатирует, а потому не будет вкладываться ни в поддержку ни тем более в развитие.
а что ему в JDK делать? Большая жирная либа
Так это принципиальный момент. Если оракл не включает ее в будущие ждк, то насколько я понимаю, это значит нет гарантий, что она будет доступна в готовом виде, да и что вообще она будет хотябы компилироваться и работать. Де-факто это рип.
Поставь проприетарную оракловскую жаву 8 или 9 или какая там у тебя. И всё. У них на сайте есть тарбол без инсталятора. просто положи куда хочешь и через нее пускай.
Еще долго будут вносить исправления, а разработкой займется сообщество.
не будут они ничего вносить. они оказывают сапорт жирным клиентам только еще 4 года и всё.
Они ж не считают, что это неудачный и бесперспективный проект.
я ничего не знаю про джаву и fx, но судя по описанию, скринам и общей информации это удачный проект, но бесперспективный. потому что desktop is dead, гугл победил, убил десктоп и мс обосрался. тем более, насколько я понимаю у них там в америке этих кругах вообще своё особое понимание всего. типа web-platform, mobile, cloud, моча
Что в этих новостях такого, что мне должно помочь? У меня openjdk8 + openjfx c апдейтом 17 года
Значимых и замеченных проектов на Java FX нет
Да вроде бы даже и малозначимых нет. Ни про одно приложение на нем не слышал никогда.
я слашал как-то что MS свернул какой-то свой WPF
оооо вот оно, майкрософтопоклонничество :)
надо понимать специфику MS-сообщества. Без MS они беспомощны.
если возникает какая-то проблема, они ждут, пока MS напишет для решения этой проблемы фреймворк
Почему у меня не определяется модуль. Собственно, этому тема посвящена.
Значимых и замеченных проектов на Java FX нет
Java - один из самых популярных языков программирования, используемых для создания различных приложений и систем. Приложения, разработанные на Java, масштабируемы, гибки и удобны в обслуживании.
Прежде чем вы начнете
Существуют две разные реализации Java, OpenJDK и Oracle Java, между которыми почти нет различий, за исключением того, что Oracle Java имеет несколько дополнительных коммерческих функций. Лицензия Oracle Java позволяет использовать программное обеспечение только в некоммерческих целях, например в личных целях и в целях разработки.
Репозитории Debian 10 по умолчанию включают два разных пакета Java: Java Runtime Environment (JRE) и Java Development Kit (JDK). JRE включает виртуальную машину Java (JVM), классы и двоичные файлы, которые позволяют запускать программы Java. Разработчики Java должны установить JDK, который включает JRE и инструменты и библиотеки для разработки / отладки, необходимые для создания приложений Java.
Если вы не уверены, какой пакет Java установить, общая рекомендация - придерживаться версии OpenJDK (JDK 11) по умолчанию. Для некоторых приложений на основе Java может потребоваться определенная версия Java, поэтому вам следует обратиться к документации приложения.
Установка OpenJDK 11
OpenJDK 11, реализация платформы Java с открытым исходным кодом, является средой разработки и выполнения Java по умолчанию в Debian 10, Buster.
Выполните следующие команды как пользователь с привилегиями sudo или root, чтобы обновить индекс пакетов и установить пакет OpenJDK 11 JDK:
После завершения установки вы можете проверить это, проверив версию Java:
Результат должен выглядеть примерно так:
Это оно! На этом этапе вы успешно установили Java в свою систему Debian.
JRE входит в пакет JDK. Если вам нужна только JRE, установите default-jre пакет.Установка OpenJDK 8
На момент написания предыдущая версия Java LTS 8 недоступна в официальных репозиториях Debian Buster.
Мы включим репозиторий AdoptOpenJDK , который предоставляет готовые пакеты OpenJDK.
Импортируйте GPG-ключ репозитория с помощью следующей команды wget :
Добавьте репозиторий AdoptOpenJDK APT в вашу систему:
После включения репозитория обновите источники apt и установите Java 8, используя следующие команды:
Наконец, проверьте установку, проверив версию Java:
Результат должен выглядеть примерно так:
Установить версию по умолчанию
Если в вашей системе Debian установлено несколько версий Java, вы можете проверить, какая версия установлена по умолчанию, набрав:
Чтобы изменить версию по умолчанию, используйте update-alternatives команду:
Результат будет выглядеть примерно так:
Вам будет представлен список всех установленных версий Java. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .
JAVA_HOME Переменная среды
JAVA_HOME Переменная окружения используется некоторыми приложениями Java , чтобы определить место установки Java.Чтобы установить JAVA_HOME переменную среды, используйте update-alternatives команду, чтобы найти, где установлена Java:
В этом примере пути установки следующие:
Найдя путь к предпочтительной установке Java, откройте /etc/environment файл:
Предполагая, что вы хотите установить JAVA_HOME OpenJDK 11, добавьте следующую строку в конец файла:
Чтобы изменения вступили в силу в вашей текущей оболочке, вы можете либо выйти из системы и войти в систему, либо выполнить следующую исходную команду :
Убедитесь, что JAVA_HOME переменная среды задана правильно:
Вы должны увидеть путь к установке Java:
/etc/environment - это общесистемный файл конфигурации, который используется всеми пользователями. Если вы хотите установить JAVA_HOME переменную для каждого пользователя, добавьте строку в этот .bashrc или любой другой файл конфигурации, который загружается при входе пользователя в систему.
Удалить Java
Вы можете удалить Java, как и любой другой пакет, установленный с помощью apt .
Например, чтобы удалить default-jdk пакет, просто запустите:
Заключение
Последняя LTS-версия OpenJDK доступна в репозиториях Debian 10 Buster по умолчанию, и установка является простой и понятной задачей.
Читайте также: