Как установить java на linux
Java — это язык программирования и вычислительная платформа, впервые выпущенная компанией Sun Microsystems в 1995 году. Это базовая технология, на которой основываются многие современные программы (в том числе утилиты, игры и бизнес-приложения). Java работает на более чем 850 млн персональных компьютерах и в миллиардах устройств (в том числе в мобильных телефонах и в телевизорах) по всему миру.
Зачем нужен Java?
Есть множество приложений и веб-сайтов, которые будут работать, только если у вас установлена Java, и их число постоянно растет. Java обеспечивает быстродействие, безопасность и надежность. Java используется везде: от портативных компьютеров до центров обработки данных, от игровых приставок до научных суперкомпьютеров, от мобильных телефонов до Интернета!
Версии Java
На данный момент существует множество реализаций Java платформы, из которых популярны две – открытая версия OpenJDK и Oracle Java. Основные отличия между этими версиями заключается в том, что в Oracle Java содержатся некоторые закрытые компоненты, а так же компоненты, защищенные патентами. OpenJDK является реализацией спецификаций Java с полностью открытым исходным кодом. Начиная с 7 версии OpenJDK является эталонной реализацией Java SE. Для большинства пользователей нет особой разницы какой именно версией Java пользоваться, но в некоторых случаях закрытая реализация от Oracle проявляет себя с лучшей стороны.
Установка Java
OpenJDK
Установить последнюю версии JRE можно перейдя по ссылке слева или введя в терминале следующую команду:
Установить последнюю версии плагина для браузера можно перейдя по ссылке слева или введя в терминале следующую команду:
Установить последнюю версии пакета документации можно перейдя по ссылке слева или введя в терминале следующую команду:
Чтобы добавить данный репозиторий и использовать последнюю версию Java с сайта Oracle, выполните в терминале следующие действия:
Кроме того, данный репозиторий изменяет зависимости пакетов, использующих Java, так, что становится возможным безболезненное удаление OpenJDK из системы.
Проверьте установленную версию:
Инсталятор требует подтвердить принятие лицензии, если вы хотите принять лицензию автоматически, то выполните команду:
Переключение между версиями Java. Вы можете установить Java 7 или другую версию командой:
После этого можно переключаться между версиями Java с помощью команд. Переключение на версию Java 7:
Переключение на версию Java 8:
Для автоматической установки переменных среды вы можете выполнить команду:
Установка переменных среды может вызвать ошибки, если указать пути к разным версиям одной библиотеки (то есть будут совпадать имена классов) или путь к установленной в системе Java будет отличаться от указанного в переменных среды.Поэтому, как вариант, если у вас нет программ использующих их, то не устанавливайте их.
Если вы используете эту команду и захотите переустановить jdk, то после переустановки необходимо выполнить её еще раз, чтобы обновить переменные (переустановить данный пакет).Если вы переключаетесь между разными версиями Java, то также необходимо переустановить этот пакет. Для OpenJDK нету похожих пакетов поэтому для него придется указывать переменные среды вручную
Либо командой (добавленное командой export действует только до перезагрузки)
Переменная PATH должна зависить от JAVA_HOME и JRE_HOME, как показано в команде ниже. Команды с export должны быть набраны в консоли и тогда они будут действовать до перезагрузки системы. Или добавлены в конец файла /etc/profile и тогда они будут действовать после перезагрузки системы.
Тогда для быстрого переключения на другие пепременные среды при смене версий Java нужно менять только эти переменные среды:
Скорее всего данный скрипт именно так устанавливает переменную PATH так что вам не нужно будет её менять и нужно выполнить только последние три комманды.
Установка различных версий Java через графическое меню может быть сделана сторонним скриптом от Bruce Ingalls.
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.
Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
Arch Linux официально поддерживает OpenJDK, свободную реализацию Java SE, версий 7, 8, 11 и 16. Эти версии можно без проблем установить одновременно, а также переключаться между ними с помощью скрипта archlinux-java . Несколько других реализаций доступны в AUR, но они не поддерживаются официально.
Contents
Установка
- Официально поддерживается только OpenJDK.
- После установки окружение Java должно быть определено в переменной $PATH , что можно сделать с помощью команды source или повторного входа в среду рабочего стола.
Существуют два главных пакета, которые являются зависимыми: 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-$ или JRE — /usr/lib/jvm/java-$/jre .
Большинство исполняемых файлов Java находятся в /usr/bin , остальные доступны через $PATH . Скрипт /etc/profile.d/jdk.sh больше не предоставляется ни одним из пакетов.
OpenJDK
OpenJFX
OpenJFX — свободная реализация JavaFX. Данный пакет включён в Java SE (реализация JRE и JDK от Oracle) и относится лишь к пользователям свободной реализации Java (OpenJDK).
Другие реализации
Примечание: 32-битные версии Java SE имеют префикс bin32- , например, bin32-jre AUR и bin32-jdk7 AUR . Они используют java32-runtime-common AUR , работая с java-runtime-common вместе с суффиксом 32 , например, java32 . То же самое происходит и с java32-environment-common AUR , который используется только 32-битными пакетами JDK.Инструменты для разработки
Чтобы усложнить процесс реверс-инжиниринга, можно воспользоваться обфускатором proguard AUR .
Декомпиляторы
Переключение между средами
Скрипт archlinux-java предусматривает следующие возможности:
Получение списка установленных совместимых сред Java
Метка (default) как раз и подписывает окружение, установленное по умолчанию. Выполнение java или других команд будет ссылаться на эту версию. Отметка /jre означает, что установлен только JRE.
Установка среды Java по умолчанию
Совет: Используйте команду archlinux-java status для отображения списка всех доступных сред Java.Сброс среды Java по умолчанию
Как правило, необходимость в сбросе среды по умолчанию отсутствует, так как данный механизм заложен в соответствующие пакеты. Если же возникла такая необходимость, воспользуйтесь командой unset :
Исправление конфигурации используемой среды Java
Запуск приложений с не установленным по умолчанию окружением
Если в системе установлено несколько окружений и необходимо запустить приложение с использованием среды не установленной по умолчанию, можно создать небольшой скрипт, локально изменяющий PATH . Например, если по умолчанию используется JRE 7, а необходимо воспользоваться JRE 8:
Требования к пакетам сред для поддержки archlinux-java
Примечание: Информация применима и к archlinux32-java , при отличии, что в названиях пакетов используется верное наименование с 32 (см. выше).Этот раздел предназначен для тех, кто хочет распространять свои пакеты JVM в AUR и использовать для управления archlinux-java . Пакеты должны соответствовать всем пунктам ниже:
Стоит принять во внимание и эти советы:
- пакеты, которым нужно окружение Java должны объявить зависимости java-runtime , java-runtime-headless или java-environment
- пакеты, которым нужно определённое окружение Java должны объявить зависимости с необходимым суффиксом
- пакеты OpenJDK объявляют provides="java-runtime-openjdk=$" , что позволяет стороннему пакету объявлять зависимость от OpenJDK без указания версии
Решение проблем
Не подключается 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.
Если установка поддельного оконного менеджера не применима, есть несколько советов:
Неразборчивый шрифт в приложениях Java
Некоторые шрифты не читаются, поэтому следует установить другие, читаемые шрифты, например, ttf-ms-fonts AUR .
В некоторых приложениях отсутствует текст
Система зависает при дебаггинге
Используйте параметр 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:
Улучшенное отображение шрифтов
Оформление GTK
Установите параметры JVM swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel . Некоторые приложения используют кроссплатформенный вид Metal ; чтобы переопределить его, используйте параметр JVM swing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel .
Поддержка GTK 3
Ускорение отрисовки 2D
Если доступно использование OpenGL, его можно включить в приложениях Java, задав переменную окружения
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 по умолчанию, и установка является простой и понятной задачей.
Читайте также: