Введение
Мне вынужденно пришлось погрузиться в эту тему, потому что на днях требовалось установить Oracle Java JRE 8 на Ubuntu 18 и у меня никак не получалось это сделать. В сети полно инструкций, простых и понятных, как установить Java на Ubuntu 18, но все они разом стали неактуальны. Популярный репозиторий webupd8team/java перешел в статус DISCONTINUED. Выполнить установку из него больше не получится. Будет вот такая ошибка:
Теперь установить Oracle JRE или SDK можно только вручную. Для этого надо:
- Зарегистрироваться и авторизоваться на сайте oracle.com.
- Скачать бинарники или rpm пакет с сайта.
- Скопировать файлы на целевой сервер.
- Вручную установить Oracle JRE, прописать path и environment.
Я подробно опишу как это сделать для двух популярных систем — Ubuntu и Centos. Начнем с более сложного, с Ubuntu 18.
Что такое Java
Java — это язык программирования, разработанный компанией Sun Microsystems, которую потом купила компания Oracle.
Программы, написанные на Java обычно работают в различных операционных системах, то есть являются кроссплатформенными. Для запуска таких программ необходимо наличие в системе Виртуальной машины Java (Java Virtual Machine — JVM), то есть, проще говоря, наличие некоторых дополнительных компонентов, которые обеспечивают возможность запуска Java-программ в системе.
Обычно, когда говорят о том, что в Linux нужно установить Java, то имеют ввиду, что нужно установить Виртуальную машину Java, чтобы получить возможность запускать программы, написанные на Java.
Версии Java
На данный момент существует множество реализаций Java платформы, из которых популярны две – открытая версия OpenJDK и Oracle Java. Основные отличия между этими версиями заключается в том, что в Oracle Java содержатся некоторые закрытые компоненты, а так же компоненты, защищенные патентами. OpenJDK является реализацией спецификаций Java с полностью открытым исходным кодом. Начиная с 7 версии OpenJDK является эталонной реализацией Java SE. Для большинства пользователей нет особой разницы какой именно версией Java пользоваться, но в некоторых случаях закрытая реализация от Oracle проявляет себя с лучшей стороны.
Что такое Oracle JRE и JDK и в чем отличие?
Моя первоначальная суета вокруг установки и компиляции Java приложений была связана с тем, что я не обратил внимание на то, что существуют 2 совершенно разных пакета для установки Java
- JRE — Java Runtime Environment. Это программный продукт со всем необходимым для запуска скомпилированных java приложений. Пакет включает в себя виртуальную машину ява (JVM), библиотеки, и всю остальную java инфраструктуру. Этот софт стал платным с 16-го апреля.
- JDK — the Java Development Kit. Это полноценная SDK для разработки приложений на Java. Она включает в себя все, что есть в JRE, плюс компилятор (javac) и различные утилиты. В том числе tools.jar, которых мне не хватало для сборки, описанной выше. JDK уже давно платный, не помню с какого времени.
Подробнее об этих продуктах и об отличиях JRE и SDK можно почитать на официальном сайте в faq. Таким образом, если вам необходимо только запускать уже скомпилированные java приложения, достаточно пакета JRE. Если вам нужно собрать из исходников java программу, ставьте SDK. Я с этим разобрался только в момент написания этой статьи, так что изложение получилось не очень последовательным.
Установка стандартной версии JRE/JDK
Проще всего использовать стандартную версию Java, которая поставляется вместе с Ubuntu. По умолчанию вместе с Ubuntu 18.04 идет Open JDK, открытая версия JRE и JDK.
Этот пакет установит OpenJDK 10 или 11.
- До сентября 2018 года будет устанавливаться OpenJDK 10.
- После сентября 2018 года будет устанавливаться OpenJDK 11.
Чтобы установить эту версию, сначала обновите индекс пакетов:
А затем запросите версию Java (чтобы уточнить, установлена ли Java):
Если на вашем сервере нет Java, вы увидите такой вывод:
Выполните эту команду, чтобы установить OpenJDK:
Эта команда установит Java Runtime Environment (JRE), что позволит вам запускать почти все программы Java.
Запросите версию:
Вы увидите такой результат:
В дополнение к JRE вам может понадобиться Java Development Kit (JDK), чтобы скомпилировать и запустить определенное программное обеспечение на базе Java. Чтобы установить JDK, выполните следующую команду, которая также установит и JRE:
Убедитесь, что JDK установлен, проверив версию javac, компилятора Java:
Вы увидите следующий результат:
Установка только Java 8 JRE
На этом сервере, в настоящее время не установлена Java.
# java -version -bash: java: command not found # rpm -qa | grep -i jre
Установите загруженный rpm файл JRE, как показано ниже.
# rpm -ivh jre-8u131-linux-x64.rpm --test Preparing... ################# # rpm -ivh jre-8u131-linux-x64.rpm Preparing... ################# Updating / installing... 1:jre1.8.0_131-1.8.0_131-fcs ################# Unpacking JAR files... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar...
Убедитесь в том, что он успешно установлен. В этом примере, как мы видим, это установлена версия Java 1.8.0.
# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) # rpm -qa | grep -i jre jre1.8.0_131-1.8.0_131-fcs.x86_64
Варианты Java
Java распространяется в трех различных редакциях: Standard Edition (SE), Enterprise Edition (EE) и Micro Edition (ME). В этом руководстве рассматривается установка версии Java SE (Standard Edition).
OpenJDK и Oracle Java — две основные реализации Java, между которыми почти нет различий, за исключением того, что Oracle Java имеет несколько дополнительных коммерческих функций.
В репозиториях Ubuntu есть два разных пакета Java: Java Runtime Environment (JRE) и Java Development Kit (JDK).
Если вы хотите запускать только программы Java, вам понадобится JRE, которая содержит только среду выполнения Java. Разработчик Java должен установить JDK, который также включает инструменты и библиотеки для разработки / отладки.
Мы покажем вам, как устанавливать различные пакеты Java. Если вы не знаете, какую реализацию или версию Java использовать, общая рекомендация — придерживаться версии OpenJDK по умолчанию, доступной в Ubuntu 18.04.
Возможности Java
Чтобы Джава корректно работала в ОС Linux, следует инсталлировать два программных модуля – JRE и JDK.
Предназначение:
- JRE – среда, позволяющая запускать программные продукты, которые написаны на языке Java.
- JDK – пакет, предназначенный для создания программ. В модуль входят компилятор, документация по языку, библиотека стандартных классов и т. д.
Пакеты JRE и JDK в первую очередь понадобятся тем, кто решил разработать собственное ПО. Также язык Джава будет полезен рядовым пользователям. Ведь программные продукты, написанные на рассматриваемом ЯП, попросту не запускаются без установленных пакетов Runtime Environment и Development Kit (к примеру, Майнкрафт).
Системные требования
Минимальные требования:
Операционная система | Linux: Oracle, Red Hat Enterprise, Suse Enterprise Server, Ubuntu |
Браузер | Firefox 3.6 и выше |
Шаги
Метод 1 из 3:
Как установить Java без помощи менеджера пакетов (RPM)
1
Откройте страницу загрузки Java для Linux. Отобразятся несколько ссылок на установочные файлы.
2
Нажмите Linux.Также можно нажать «Linux X64», если вы хотите установить 64-разрядную Java. Эта ссылка расположена посередине страницы
Скачается установочный файл Java.
3
Обратите внимание на имя файла.Например, если файл называется «jre-8u151», это означает, что версия Java – 8, а версия обновления – 151. Последней версией Java является 8-ая версия, но также понадобится версия обновления, которая в имени файла идет после «8u».
4
Откройте командную строку
Ваши действия будут зависеть от версии Linux, но, как правило, нужно открыть терминал или щелкнуть по панели в верхней или нижней части экрана.
5
Измените каталог для установки. В терминале введите cd, поставьте пробел, а затем введите путь (например: /usr/java/) и нажмите ↵ Enter.
6
Введите команду для установки. Введите tar zxvfЕсли файл скачан после 1 октября 2017 года, введите tar zxvf jre-8u151-linux-i586.tar., поставьте пробел, а затем введите полное имя файла, которое зависит от версии Java и даты загрузки файла.
7
Нажмите ↵ Enter. Java будет установлена в папку «jre1.8.0_», где «» – это версия обновления (например, 151).
Метод 2 из 3:
Как установить Java с помощью менеджера пакетов (RPM)
1
Откройте страницу загрузки Java для Linux. Отобразятся несколько ссылок на установочные файлы.
2
Нажмите Linux RPM.Также можно нажать «Linux RPM X64», если вы хотите установить 64-разрядную Java. Эта ссылка расположена посередине страницы
Скачается установочный файл Java RPM.
3
Обратите внимание на имя файла.Например, если файл называется «jre-8u151», это означает, что версия Java – 8, а версия обновления – 151. Последней версией Java является 8-ая версия, но также понадобится версия обновления, которая в имени файла идет после «8u».
4
Откройте командную строку
Ваши действия будут зависеть от версии Linux, но, как правило, нужно открыть терминал или щелкнуть по панели в верхней или нижней части экрана.
5
Введите команду, которая предоставит вам права суперпользователя. Введите sudo su и нажмите ↵ Enter. Система попросит вас ввести пароль.
X
Источник информации
6
Введите пароль к учетной записи. Введите пароль к своей учетной записи и нажмите ↵ EnterЕсли ваш пароль не является административным, введите пароль к учетной записи администратора.. Если ваш пароль является административным паролем, вы сможете установить Java.
7
Измените каталог для установки. В терминале введите cd, поставьте пробел, а затем введите путь (например: /usr/java/) и нажмите ↵ Enter.
8
Введите команду для установки. Введите rpm -ivh, поставьте пробел, а затем введите полное имя файла и нажмите ↵ EnterИмя файла зависит от даты загрузки файла. Если файл скачан после 1 октября 2017 года, введите rpm -ivh jre-8u151-linux-i586.rpm и нажмите ↵ Enter.. Java будет установлена на компьютере.
9
Обновите установленную Java. Введите rpm -Uvh jre-8u73-linux-i586.rpm и нажмите ↵ Enter. Система проверит наличие обновлений для пакета Java и, если они доступны, установит их.
Метод 3 из 3:
Как установить Java на Ubuntu
-
1
Откройте командную строку. Нажмите Ctrl+Alt+T на клавиатуре или щелкните по значку в виде черного прямоугольника с белыми символами «>_» в левой части экрана.
-
2
Введите команду для обновления. Введите sudo apt-get install и нажмите ↵ Enter. Это приведет к обновлению пакетов на компьютере.
-
3
Введите пароль, если будет предложено. Если система попросят ввести пароль суперпользователя, введите его и нажмите ↵ Enter.
-
4
Убедитесь, что на компьютере нет Java. Введите java -version и нажмите ↵ Enter
Если Java установлена, на экране отобразится ее версия.
. Если на экране отобразилось сообщение «The program ‘java’ can be found in the following packages» (Java можно найти в следующих пакетах), Java нет на компьютере.
-
5
Введите команду для установки. В терминале введите sudo apt-get install default-jre, а затем нажмите ↵ Enter
Если это не привело к успеху, попробуйте ввести sudo apt-get install openjdk-7-jdk.
. Java будет установлена на компьютере с Ubuntu в папку по умолчанию.
Установка Oracle Java в Ubuntu
Если использование OpenJDK не воспроизводит нужного эффекта необходимо всё-таки установить оригинальную версию Java. Для этого первым делом удалите все пакеты OpenJDK. Чтобы это сделать выполните в терминале следующую команду:
sudo apt-get purge openjdk*
После этого необходимо подключить специальный репозиторий ppa:webupd8team/java (как подключить ppa репозиторий в ubuntu). Не забудьте обновить метаданные репозиториев командой:
sudo apt-get update
Далее можно устанавливать последние версии Java от Oracle. Просто введите в центре приложений oracle-java7-installer или выполните в окне терминала команду:
sudo apt-get install oracle-java7-installer
Чтобы установить 8-ю версию Java, поискав oracle-java8-installer или выполнив команду:
sudo apt-get install oracle-java8-installer
В случае если вы установили обе версии Java (7 и то переключаться между ними можно с помощью следующих команд:
Для того, чтобы переключится на использование 7-й версии Java
sudo update-java-alternatives -s java-7-oracle
Чтобы переключится на 8-ю версию Java:
sudo update-java-alternatives -s java-8-oracle
Репозиторий постоянно обновляется, поэтому при выходе новых версий Java вы будете получать их автоматически вместе с обновлениями системы и других программ.
Установка Java в Linux
В этой статье речь пойдёт о проприетарной версии Java. Часто происходят ситуации, когда пользователь пытается открыть какую-либо программу на Java, а она либо вообще не запускается, либо пытается это сделать с помощью OpenJDK (Java Development Kit). Но вместо результата вы получаете кучу ошибок (как например с Minecraft). В данных ситуациях вам, скорее всего, поможет установка Java от Oracle.
Я вам расскажу, как установить JRE (Java Runtime Environment) и JDK (Java Development Kit) 8 версии на такие дистрибутивы, как Ubuntu, CentOS и Arch, а также как выбрать нужную среду по умолчанию.
Установка Oracle JDK 11
Лицензионное соглашение Oracle для Java не доступно через стандартный менеджер пакетов. Чтобы установить Oracle JDK, официальную версию от Oracle, нужно создать аккаунт Oracle и вручную загрузить JDK, чтобы добавить новый репозиторий для нужной вам версии. После этого вы сможете установить ее с помощью apt и стороннего скрипта.
Версия Oracle JDK, которую вам нужно загрузить, должна соответствовать версии инсталлятора. Чтобы узнать, какая версия вам нужна, посетите страницу oracle-java11-installer. Найдите пакет для Focal.
В мануале используется версия скрипта 11.0.7. В этом случае вам понадобится Oracle JDK 11.0.7. С этой страницы не нужно ничего скачивать.
Затем перейдите на страницу загрузок и найдите версию, которая вам нужна.
Нажмите кнопку JDK Download, и вы попадете на экран, где будут перечислены доступные версии. Нажмите на пакет .tar.gz для Linux.
Вы увидите диалоговое окно с просьбой принять лицензионное соглашение Oracle. Установите флажок, чтобы принять лицензионное соглашение, и нажмите кнопку Download. Возможно, вам придется войти в свою учетную запись Oracle еще раз, чтобы начать загрузку.
Как только файл загрузится, вам нужно будет перенести его на ваш сервер. Загрузите файл на свой локальный компьютер. В macOS, Linux или Windows (с помощью подсистемы Windows для Linux) используйте команду scp, чтобы передать файл в домашний каталог вашего пользователя 8host. Следующая команда предполагает, что вы сохранили файл Oracle JDK в папке Downloads на локальном компьютере (если это не так, исправьте путь в команде):
Теперь у вас на сервере есть правильный пакет программного обеспечения Java. Можно добавить репозиторий, в котором находится нужный нам инсталлятор.
Сначала установите пакет software-properties-common, который добавляет команду apt-get-repository – она нужна для добавления в систему дополнительных репозиториев.
После этого нужно импортировать ключ подписи, чтобы проверить программу, которую мы собираемся установить:
Вы увидите такой результат:
С помощью команды add-apt-repository добавьте нужный репозиторий в список источников:
После этого вы увидите сообщение:
Нажмите Enter, чтобы продолжить установку. Затем система попробует импортировать ключи GPG, но не сможет найти валидные.
Это предупреждение можно проигнорировать.
Чтобы обновить список исходников и сделать новое ПО доступным для установки, введите:
Инсталлятор будет искать загруженный пакет Oracle JDK в каталоге /var/cache/oracle-jdk11-installer-local. Сейчас нужно создать этот каталоги и скопировать туда архив .tar.gz.
Теперь можно установить пакет:
Сначала инсталлятор предложит вам принять лицензию. После этого он извлечет и установит Java.
Установка JDK 11
Если мы хотим использовать последнюю и самую лучшую версию JDK, часто ручная установка-это путь. Это означает загрузку пакета с сайта OpenJDK или Oracle и настройку его таким образом, чтобы он соответствовал соглашениям о том, как apt настраивает пакеты JDK.
2.1. Установка OpenJDK 11 Вручную
Прежде всего, давайте загрузим tar архив недавно выпущенного OpenJDK 11:
$ wget https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz
И мы сравниваем sha256 сумму загруженного пакета с тем, который предоставлен на сайте OpenJDK :
$ sha256sum openjdk-11_linux-x64_bin.tar.gz
Давайте распакуем архив tar :
$ tar xzvf openjdk-11_linux-x64_bin.tar.gz
Далее, давайте переместим каталог jdk11 , который мы только что извлекли, в подкаталог /usr/lib/jvm . Пакеты apt , описанные в следующем разделе, также помещают свои JDK в этот каталог:
$ sudo mkdir /usr/lib/jvm $ sudo mv jdk-11 /usr/lib/jvm/openjdk-11-manual-installation/
Теперь мы хотим сделать команды java и javac доступными . Одной из возможностей было бы создать для них символические ссылки, например, в каталоге /usr/bin . Но вместо этого мы установим альтернативу для них обоих. Таким образом, если мы когда-нибудь захотим установить дополнительные версии JDK, они будут хорошо работать вместе:
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/openjdk-11-manual-installation/bin/java 1 $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/openjdk-11-manual-installation/bin/javac 1
Давайте проверим установку:
$ java -version
Как мы видим из выходных данных, мы действительно установили последнюю версию OpenJDK JRE и JVM:
openjdk version "11" 2018-09-25 OpenJDK Runtime Environment 18.9 (build 11+28) OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Давайте также взглянем на версию компилятора:
$ javac -version
javac 11
2.2. Установка Oracle JDK 11 Вручную
Если мы хотим убедиться, что используем новейшую версию Oracle JDK, мы можем следовать аналогичному ручному процессу установки, как и для OpenJDK. Чтобы загрузить архив tar для JDK 11 с веб-сайта Oracle , мы должны сначала принять лицензионное соглашение . По этой причине загрузка через wget немного сложнее, чем для OpenJDK:
$ wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" \ http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
В приведенном выше примере загружается пакет для 11.0.1. Точная ссылка для загрузки изменяется для каждой второстепенной версии.
Следующие шаги такие же, как и для OpenJDK:
$ sha256sum jdk-11.0.1_linux-x64_bin.tar.gz $ tar xzvf jdk-11.0.1_linux-x64_bin.tar.gz $ sudo mkdir /usr/lib/jvm $ sudo mv jdk-11.0.1 /usr/lib/jvm/oracle-jdk-11-manual-installation/ $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jdk-11-manual-installation/bin/java 1 $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle-jdk-11-manual-installation/bin/javac 1
Проверка тоже такая же. Но вывод показывает, что на этот раз мы установили не OpenJDK, а Java(TM):
$ java -version
java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
И для компилятора:
$ javac -version
javac 11.0.1
2.3. Установка Oracle JDK 11 из PPA
В настоящее время Oracle JDK 11 также доступен в PPA (личном архиве пакетов). Эта установка включает в себя 2 шага: добавление репозитория в нашу систему и установку пакета из репозитория через apt:
$ sudo add-apt-repository ppa:linuxuprising/java $ sudo apt update $ sudo apt install oracle-java11-installer
Шаги проверки должны показать тот же результат, что и после ручной установки в разделе 2.2.1.:
$ java -version
java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
И для компилятора:
$ javac -version
javac 11.0.1
В Ubuntu 14.04 LTS команда add-apt-repository по умолчанию недоступна. Чтобы добавить репозиторий, сначала нам нужно установить пакет software-properties-common .
$ sudo apt update $ sudo apt install software-properties-common
После этого мы можем продолжить работу с add-apt-repository, apt update и apt install , как показано выше.
Установка Oracle Java на Ubuntu
Как я уже сказал выше, для установки oracle java необходимо скачать бинарники. Причем, сделать это так, как я недавно описывал в статье про настройку ELK Stack не получится. Без авторизации ссылки не доступны. Так что необходимо зарегистрироваться на сайте и скачать бинарники себе на компьютер. Я покажу как это сделать на примере Oracle Java 8. Идем на страницу загрузки, авторизовываемся и скачиваем jre-8u211-linux-x64.tar.gz.
Не забудьте отметить флажок напротив Accept License Agreement. После загрузки любым удобным для вас способом скопируйте файл на целевой сервер, куда будем устанавливать Java 8. Я для этого использую scp. Копирую файл в домашнюю директорию /root. Создаем директорию для java и распаковываем туда бинарники.
Java машина должна расположиться в директории /usr/lib/jvm/jre1.8.0_211. Теперь нам необходимо создать символьные ссылки на установленную версию java. Делаем это с помощью update-alternatives.
Зададим переменную JAVA_HOME, которую используют некоторые приложения. Для этого добавляем в файл /etc/environment следующую строку.
Сохраняем его и применяем изменение.
Теперь проверим, что у нас получилось.
Все нормально. В случае, если необходимо обновить или установить другую версию Java, то все проделывается точно так же, только в конце указываются ссылки на новую директорию с Java.
Если вам необходимо установить Oracle SDK, то делаете все то же самое, только бинарники скачиваете по другой ссылке — Java SE Development Kit.
В принципе, на этом с установкой Oracle Java на Ubuntu все. В общем случае выполнено все необходимое. Но я в процессе компиляции одного приложения столкнулся с одной ошибкой. Расскажу вам, как ее решил.
Could not find tools.jar
Приложение использовало систему автоматической сборки gradle, которая прекращала сборку с ошибкой.
Я долго гуглил решение. В общем случае оно состоит в том, что нужно тем или иным образом явно указать путь к tools.jar, но у меня этого файла вообще не было в системе и я не знал, где его взять. Я вообще не разбираюсь в теме с явой, первый раз собирал приложение сам. Вышел из положения в итоге следующим образом. Я установил openjdk-8-jdk следующей командой.
Она установилась в директорию /usr/lib/jvm/java-8-openjdk-amd64. Там в директории libs лежал файл tools.jar. Я просто скопировал его в /usr/lib/jvm/jre1.8.0_211/lib, где установлена oracle java. После этого сборка прошла без ошибок.
Уже после написания статьи понял, что мне нужно было установить не Oracle JRE, а JDK, тогда бы все сразу собралось без ошибок. Надеюсь эта информация будет полезна тем, кто будет искать решение похожей проблемы. Она возникла из-за недопонимания различий между JRE и JDK.
Скачать только Java 8 JDK
Если вы устанавливаете JDK, как правило, не нужно устанавливать JRE отдельно, так как все бинарные файлы, входящие в состав JRE также входит в состав JDK.
Последняя версия Java 8 доступна для загрузки здесь. Нажмите на ссылку «Скачать» рядом с «JDK».
Вот прямая ссылка для загрузки JDK 8 Скачать.
Нажмите на радио-кнопку, которая говорит: «Примите лицензионное соглашение». Кнопка радио исчезнет, и вы увидите это сообщение: Thank you for accepting the Oracle Binary Code License Agreement for Java SE; Теперь вы можете скачать это программное обеспечение.
Для 64-битной Linux, загрузите файл jdk-8u131-linux-x64.rpm, который находится в «Linux x64»
для 32-битной Linux, загрузите файл jdk-8u131-linux-i586.rpm, который находится в «Linux x86»
Пару слов про Docker
cgroups
- Если вы запускаете Java в docker-контейнер, она смотрит, сколько на хосте физической памяти, и исходя из того, сколько физической памяти реально на хосте, а не в контейнере считает ограничения по умолчанию. И очень быстро умирает, потому что ей столько не дают. Поэтому -Xmx обязательно — без этого не взлетит.
- Всегда под контейнер надо давать немножко больше памяти, чем под JVM. Допустим, вы делаете контейнер на 2 Гбайта, запускаете JVM с параметром , оно как-то начинает работать, потому что память аллоцируется лениво. Но потихонечку все эти страницы так или иначе начинают использоваться, и сначала ваш контейнер начинает уходить в локальный своп, а потом просто умирает. Причём умирает он в лучших традициях — просто исчезает.
Установка Java
Фактически, установка Java — это одна из первых вещей, которую нужно сделать после установки любой операционной системы. Впоследствии, для многих приложений требуется Java для правильного функционирования.
В этом кратком руководстве мы увидим, как установить Java на Ubuntu и их производные. Установка Java в Ubuntu относительно проста, так как для этого требуется всего несколько команд Linux в терминале.
Подробный обзор на Ubuntu можно прочитать в данной статье.
Прежде чем приступить к установке Java в Linux, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo. Также проверьте, установлен ли Java на вашем компьютере по умолчанию.
Установка OpenJDK С Java 11
sudo apt-get update && sudo apt-get upgrade
sudo apt install default-jdk
Чтобы узнать установилась ли Java, а также узнать ее версию можно с помощью команды java -version
Установка OracleJDK 11
sudo apt-get install software-properties-commonsudo add-apt-repository ppa:linuxuprising/java sudo apt update && sudo apt install oracle-java11-installer
Установка Java 14 в Linux вручную
Лично мне нравится устанавливать Java вручную, это дает мне простой способ быстро обновить и переключиться на другую версию Java.
Давайте узнаем, как установить Java 14 на машины Linux вручную. Это будет работать в любых дистрибутивах Linux, будь то Deb или на основе RPM.
Шаг 1: Загрузите сборку JDK 14
Перейдите на страницу выпуска JDK14 GA и скопируйте ссылку на сборку Linux.
Затем используйте команду wget или curl, чтобы загрузить его в свою систему Linux.
root@localhost:~# wget https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz OR root@localhost:~# curl -O https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz
После завершения загрузки удалите его.
root@localhost:~# tar -xvf openjdk-14.0.1_linux-x64_bin.tar.gz
Давайте зайдем в каталог JDK bin и выполним команду java.
root@localhost:~# cd jdk-14.0.1/bin/ root@localhost:~/jdk-14.0.1/bin# ./java -version openjdk version "14.0.1" 2020-04-14 OpenJDK Runtime Environment (build 14.0.1+7) OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing) root@localhost:~/jdk-14.0.1/bin#
Я использую ту же систему, в которой мы установили JDK 14 с помощью диспетчера пакетов apt. Давайте посмотрим, где находится команда “java” и переменная ПУТИ.
root@localhost:~# which javac /usr/bin/javac root@localhost:~# root@localhost:~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin root@localhost:~#
Поэтому, если у вас уже установлена другая версия Java, необходимо добавить новое расположение JDK перед переменной PATH. Таким образом, когда мы запускаем команды java, сначала будет произведен поиск в нашем каталоге, и команда java будет найдена и выполнена.
Откройте профиль пользователя (.bashrc или .bash_profile или .профиль) и добавьте в него следующие строки.
PATH="/root/jdk-14.0.1/bin:$PATH" export PATH
Затем сохраните и выйдите из файла. Давайте запустим исходную команду, чтобы перезагрузить настройки профиля пользователя.
root@localhost:~# source .bashrc
Теперь давайте проверим переменную PATH и вывод команды java.
root@localhost:~# echo $PATH /root/jdk-14.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin root@localhost:~# root@localhost:~# java -version openjdk version "14.0.1" 2020-04-14 OpenJDK Runtime Environment (build 14.0.1+7) OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing) root@localhost:~#
Команда сообщит нам, что она использует команду java из нашего каталога JDK14.
root@localhost:~# which java /root/jdk-14.0.1/bin/java root@localhost:~#