- Java (Русский)
- Contents
- Установка
- OpenJDK
- OpenJFX
- Другие реализации
- Инструменты для разработки
- Декомпиляторы
- Переключение между средами
- Получение списка установленных совместимых сред Java
- Установка среды Java по умолчанию
- Сброс среды Java по умолчанию
- Исправление конфигурации используемой среды Java
- Запуск приложений с не установленным по умолчанию окружением
- Требования к пакетам сред для поддержки archlinux-java
- Решение проблем
- Не подключается MySQL
- Не запускается IntelliJ IDEA
- Ошибки отрисовки приложений Java
- Неразборчивый шрифт в приложениях Java
- В некоторых приложениях отсутствует текст
- Система зависает при дебаггинге
- Конструктор JavaFX MediaPlayer вылетает с ошибкой
- В приложениях Java не открываются внешние ссылки
- Ошибка инициализации QuantumRenderer : no suitable pipeline found
- Советы и рекомендации
- Улучшенное отображение шрифтов
- Удаление сообщения Picked up _JAVA_OPTIONS
- Оформление GTK
- Ускорение отрисовки 2D
- Как установить Java на Manjaro 20
- Как установить Java на Manjaro 20
- Установка Java на Manjaro 20 Nibia
- Шаг 1. Перед тем, как запустить руководство, приведенное ниже, убедитесь, что наша система обновлена:
- Шаг 2. Установка Java на Manjaro 20.
Java (Русский)
Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
Arch Linux официально поддерживает OpenJDK, свободную реализацию Java SE, версий 7, 8, 11 и 16. Эти версии можно без проблем установить одновременно, а также переключаться между ними с помощью скрипта archlinux-java . Несколько других реализаций доступны в AUR, но они не поддерживаются официально.
Contents
Установка
Существуют два главных пакета, которые являются зависимыми: java-runtime-common (содержит основные файлы для Java Runtime Environment — JRE) и java-environment-common (содержит основные файлы для Java Development Kit — JDK). Переменная окружения $PATH в файле /etc/profile.d/jre.sh указывает на каталог /usr/lib/jvm/default/bin , заданный скриптом archlinux-java . Ссылки /usr/lib/jvm/default и /usr/lib/jvm/default-runtime следует менять только при помощи скрипта archlinux-java . Эти ссылки ведут на выбранное рабочее окружение Java в /usr/lib/jvm/java-$
Большинство исполняемых файлов Java находятся в /usr/bin , остальные доступны через $PATH . Скрипт /etc/profile.d/jdk.sh больше не предоставляется ни одним из пакетов.
OpenJDK
Headless JRE минимальная среда выполнения для Java; не поддерживает GUI. Full JRE полная среда выполнения, поддерживающая GUI и зависящая от headless JRE. JDK Java Development Kit; необходим для разработки Java-приложений и зависит от full JRE.
Версия | Headless JRE | Full JRE | JDK | Документация | Исходный код |
---|---|---|---|---|---|
OpenJDK 16 | jre-openjdk-headless | jre-openjdk | jdk-openjdk | openjdk-doc | openjdk-src |
OpenJDK 11 | jre11-openjdk-headless | jre11-openjdk | jdk11-openjdk | openjdk11-doc | openjdk11-src |
OpenJDK 8 | jre8-openjdk-headless | jre8-openjdk | jdk8-openjdk | openjdk8-doc | openjdk8-src |
OpenJDK 7 | jre7-openjdk-headless | jre7-openjdk | jdk7-openjdk | openjdk7-doc | openjdk7-src |
OpenJDK GA — свежая сборка OpenJDK General-Availability Release от Oracle.
OpenJDK EA — свежая сборка OpenJDK Early-Access от Oracle.
IcedTea-Web — Java Web Start и устаревший плагин Java для браузеров.
OpenJFX
OpenJFX — свободная реализация JavaFX. Данный пакет включён в Java SE (реализация JRE и JDK от Oracle) и относится лишь к пользователям свободной реализации Java (OpenJDK).
Версия | Runtime и Developement Kit | Документация | Исходный код |
---|---|---|---|
OpenJFX 16 | java-openjfx | java-openjfx-doc | java-openjfx-src |
OpenJFX 11 | java11-openjfx | java11-openjfx-doc | java11-openjfx-src |
OpenJFX 8 | java8-openjfx | java8-openjfx-doc | java8-openjfx-src |
OpenJFX GA — свежая сборка OpenJFX General-Availability Release от Gluon.
OpenJFX EA — свежая сборка OpenJFX Early-Access от Gluon.
Другие реализации
Java SE — реализация JRE от Oracle.
Java SE — реализация JDK от Oracle.
OpenJ9 — JRE от Eclipse, созданная при участии IBM.
IBM J9 — реализация восьмой редакции JRE от IBM.
Инструменты для разработки
Чтобы усложнить процесс реверс-инжиниринга, можно воспользоваться обфускатором proguard AUR .
Декомпиляторы
- Bytecode Viewer — пакет для обратного инжиниринга Java-приложений, включающий в себя декомпилятор, редактор и дебаггер.
https://bytecodeviewer.com || bytecode-viewerAUR
- CFR — декомпилятор Java, поддерживающий также новые возможности Java 9 и выше.
https://www.benf.org/other/cfr/ || cfrAUR
- Fernflower — аналитический декомпилятор Java-приложений, разработанный для IntelliJ IDEA.
https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine || fernflower-gitAUR
- JD-Core-java — обёртка над JD Decompiler.
https://github.com/nviennot/jd-core-java || jd-core-javaAUR
- Krakatau — декомпилятор, ассемблер и дизассемблер для Java.
https://github.com/Storyyeller/Krakatau || krakatau-gitAUR
- Procyon decompiler — экспериментальный декомпилятор Java, разработанный под влиянием ILSpy и Mono.Cecil.
https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler || procyon-decompilerAUR , GUI: luytenAUR
Переключение между средами
Скрипт archlinux-java предусматривает следующие возможности:
Получение списка установленных совместимых сред Java
Метка (default) как раз и подписывает окружение, установленное по умолчанию. Выполнение java или других команд будет ссылаться на эту версию. Отметка /jre означает, что установлен только JRE.
Установка среды Java по умолчанию
Обратите внимание, что archlinux-java не позволит задать некорректную среду Java. В предыдущем примере была использована установленная среда jre8-openjdk , а, к примеру, указание неустановленной среды jdk8-openjdk завершилось бы следующей ошибкой:
Сброс среды Java по умолчанию
Как правило, необходимость в сбросе среды по умолчанию отсутствует, так как данный механизм заложен в соответствующие пакеты. Если же возникла такая необходимость, воспользуйтесь командой unset :
Исправление конфигурации используемой среды Java
Если на какое-нибудь окружение Java задана неверная ссылка, команда archlinux-java fix попытается найти и исправить ошибку. Также эта команда задаст окружение по умолчанию, если оно отсутствует (официально поддерживаемое окружение OpenJDK 8 имеет наивысший приоритет).
Запуск приложений с не установленным по умолчанию окружением
Если в системе установлено несколько окружений и необходимо запустить приложение с использованием среды не установленной по умолчанию, можно создать небольшой скрипт, локально изменяющий PATH . Например, если по умолчанию используется JRE 7, а необходимо воспользоваться JRE 8:
Требования к пакетам сред для поддержки archlinux-java
Этот раздел предназначен для тех, кто хочет распространять свои пакеты JVM в AUR и использовать для управления archlinux-java . Пакеты должны соответствовать всем пунктам ниже:
- все файлы пакета располагаются по адресу /usr/lib/jvm/java-$
-$ - все исполняемые файлы для java-runtime-common и java-environment-common имеют соответствующие ссылки
- исполняемые файл, не принадлежащие к java-runtime-common и java-environment-common, имеют ссылки из /usr/bin
- суффиксы манов такие: -$
$ ; например, смотри jre8-openjdk, где они имеют суффиксы -openjdk8 - не используется ни PKGBUILD conflicts, ни PKGBUILD replaces с другими JDK, java-runtime , java-runtime-headless или java-environment
- используется скрипт archlinux-java , чтобы устанавливать окружение по умолчанию, если ни одно другое окружение не задано — то есть не перезаписывается значение по умолчанию
Стоит принять во внимание и эти советы:
- пакеты, которым нужно окружение Java должны объявить зависимости java-runtime , java-runtime-headless или java-environment
- пакеты, которым нужно определённое окружение Java должны объявить зависимости с необходимым суффиксом
- пакеты OpenJDK объявляют provides=»java-runtime-openjdk=$
» , что позволяет стороннему пакету объявлять зависимость от OpenJDK без указания версии
Решение проблем
Не подключается MySQL
В связи с тем, что драйверы JDBC часто используют порт в URI для установления соединения с базой данных, он считается «удалённым» (т. е. MySQL не прослушивает порт в соответствии с его настройками по умолчанию), несмотря на то, что, возможно, они работают на одном хосте. Таким образом, чтобы использовать JDBC и MySQL, вы должны разрешить удаленный доступ в MySQL.
Не запускается IntelliJ IDEA
Если IntelliJ IDEA вылетает с ошибкой The selected directory is not a valid home for JDK , придётся установить другую JDK или использовать IntelliJ IDEA с JetBrains Runtime.
Ошибки отрисовки приложений Java
В оконных менеджерах Awesome, Dwm и Ratpoison возникают ошибки отрисовки GUI в Java, появляются серые окна, приложения не изменяют размер, меню мгновенно закрываются. Для того, чтобы JVM думала, что используется оконный менеджер, отличный от установленного, используется wmname . Задайте поддельное название оконного менеджера, например, compiz или LG3D
После выполнения команды нужно перезапустить приложение Java. Такое поведение обосновано тем, что в JVM прямо установлены известные оконные менеджеры, которые используют подход non-re-parenting.
Если установка поддельного оконного менеджера не применима, есть несколько советов:
- для jre7-openjdk и jre8-openjdk , добавьте строчку export _JAVA_AWT_WM_NONREPARENTING=1 в /etc/profile.d/jre.sh , затем выполните его или перезайдите
- для свежих JVM работает добавление export AWT_TOOLKIT=MToolkit в
/.xinitrc перед командой запуска оконного менеджера
Неразборчивый шрифт в приложениях Java
Некоторые шрифты не читаются, поэтому следует установить другие, читаемые шрифты, например, ttf-ms-fonts AUR .
В некоторых приложениях отсутствует текст
Далее в разделе #Улучшенное отображение шрифтов приводятся параметры; см. также FS#40871.
Система зависает при дебаггинге
Используйте параметр JVM -Dsun.awt.disablegrab=true . Смотри также страницу бага в JDK 6.
Конструктор JavaFX MediaPlayer вылетает с ошибкой
При создании экземпляра класса MediaPlayer может появиться такая ошибка:
это связано с несовеместимостью JavaFX и ffmpeg из репозитория, поэтому следует установить ffmpeg-compat-55 AUR . См. также обсуждение на Reddit.
В приложениях Java не открываются внешние ссылки
Установите gvfs ; в приложении требуется реализовать метод Desktop.Action.BROWSE . См. также обсуждение на Launchpad.
Ошибка инициализации QuantumRenderer : no suitable pipeline found
Либо отсутствует GTK2 — установите gtk2 , либо отсутствует OpenJFX — установите java-openjfx .
Советы и рекомендации
Поведение большинства приложений Java можно контролировать, предоставляя предопределённые переменные для среды выполнения Java. Для этого нужно добавлять строчки в
/.bashrc или /etc/profile.d/jre.sh .
Например, предопределённое использование сглаженных шрифтов и GTK:
Улучшенное отображение шрифтов
Установите параметры JVM -Dawt.useSystemAAFontSettings=on , -Dswing.aatext=true . См. статью Java Runtime Environment fonts
Удаление сообщения Picked up _JAVA_OPTIONS
При установке какого-либо параметра JVM появляется сообщение вида Picked up _JAVA_OPTIONS=. . Чтобы избавиться от сообщения, используйте команды ниже
Оформление GTK
Установите параметры JVM swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel . Некоторые приложения используют кроссплатформенный вид Metal ; чтобы переопределить его, используйте параметр JVM swing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel .
Поддержка GTK 3
В версиях, предшествующих Java 9 использовался вид GTK 2. Эта несовместимость между версиями GTK может нарушить работу приложений, использующих плагины Java с графическим интерфейсом, поскольку смешивание GTK 2 и GTK 3 в одном и том же процессе не поддерживается (например, LibreOffice 5.0). Начиная с Java 9 можно выбрать GTK 2 , 2.2 или 3 , но по умолчанию используется GTK 2; чтобы задать приоритет используйте параметр JVM jdk.gtk.version=3 .
Ускорение отрисовки 2D
Если доступно использование OpenGL, его можно включить в приложениях Java, задав переменную окружения
Источник
Как установить Java на Manjaro 20
Как установить Java на Manjaro 20
В этом руководстве мы покажем вам, как установить Java на Manjaro 20. Для тех из вас, кто не знал, Java — очень популярный язык в программировании. Это общий язык для разработки Android и других корпоративных решений. Впервые он был выпущен Sun Microsystems в 1995 году. Java состоит из JRE (Java Runtime Environment) и JDK (Java Development Toolkit). JRE — это набор программных приложений, которые помогают в развертывании приложений Java. JDK — это среда разработки, необходимая для создания и компиляции приложений Java. Для запуска многих программ и сценариев требуется Java, но обычно Java не устанавливается по умолчанию на VPS или выделенном сервере.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Java на Manjaro 20 ( Nibia ).
Установка Java на Manjaro 20 Nibia
Шаг 1. Перед тем, как запустить руководство, приведенное ниже, убедитесь, что наша система обновлена:
Шаг 2. Установка Java на Manjaro 20.
- Чтобы установить последнюю версию JRE, выполните следующую команду:
- Чтобы установить последнюю версию JDK, выполните следующую команду:
Вы можете проверить, какая версия Java в настоящее время используется в вашей системе Manjaro, используя следующую команду:
Поздравляю! Вы успешно установили Java . Благодарим за использование этого руководства для установки последней версии Java в системе Manjaro. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Java .
Источник