...как установить Java?
Image source: tradehub.earth

...как установить Java?

Во многих моих тренингах так или иначе используется Java, либо как язык программирования для разработки автотестов, либо как среда для запуска приложений, написанных на Java.

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

Пять лет назад я уже писал такую инструкцию, но с тех пор накопилось много изменений как в Java, так и в операционных системах, так что пришло время для реновации.

Что устанавливать, JRE или JDK?

Существует две разновидности дистрибутива Java — для простых пользователей и для разработчиков:

  • Java Runtime Environment, или JRE — это виртуальная машина, позволяющая запускать приложения, написанные на языке программирования Java;
  • Java Development Kit, или JDK — это набор инструментов для разработки программ на языке программирования Java (компилятор, архиватор, генератор документации и прочие). JRE разумеется является частью дистрибутива JDK.

Правило очень простое:

  • если вы собираетесь что-нибудь писать на языке программирования Java, значит вам нужен JDK;
  • если вы собираетесь только запускать готовые программы — тогда достаточно JRE.

Какую версию выбрать?

Релизы Java выходят раз в полгода (не считая мелких обновлений). Но не стоит гнаться за новизной. Если вы установите Java последней версии, приготовьтесь к тому, что не все приложения будут хорошо работать с ней. Новые недавно добавленные возможности иногда приводят к проблемам совместимости.

Лучше всего посмотреть статистику и выбрать то, что использует большинство. Давайте посмотрим статистику за 2019 год:

В сентябре 2019 года вышла версия 13, в марте 2020 года выйдет версия 14, но при этом большинство продолжает использовать Java 8!

Я не собираюсь здесь обсуждать причины этого явления, но факт есть факт — это самая распространённая версия по состоянию на конец 2019 года. Поэтому если вы хотите максимальной стабильности и совместимости — в 2020 году берите Java 8.

Второе место по популярности занимает Java 11, это так называемый релиз с долгосрочной поддержкой (Long Term Support, LTS), ориентированный на корпоративных пользователей, для которых стабильность важнее новых фич.

Поддержка Java 8 официально прекращается в декабре 2020 года, к этому времени все корпоративные пользователи будут вынуждены перейти на Java 11. Но вы уже сейчас, не дожидаясь конца 2020 года, можете смело брать эту версию, она обеспечит комфортное соотношение достаточной новизны и не очень высокого риска. А если что-то не будет работать — можно установить рядом Java 8 для использования со старыми приложениями.

Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет.

Где взять?

Java это не только язык программирования, но и спецификация, как самого языка, так и среды исполнения программ, написанных на этом языке. Причем это открытая спецификация, поэтому может существовать, и существует, много разных её реализаций, в том числе проприетарных.

Большинство бесплатных реализаций (а может быть даже все) базируются на общем коде, который разрабатывается совместными усилиями вендоров в рамках проекта OpenJDK.

К этому общему коду каждый вендор дописывает свой инсталлятор (со своим логотипчиком), а также может добавлять какие-то дополнительные библиотеки (такие как, например, библиотека для создания графических пользовательких интерфейсов OpenJFX) или утилиты (например, средства мониторинга).

Вот ссылка на полный список сборок, базирующихся на OpenJDK.

Лично я отдаю предпочтение сборке Azul Zulu, но вы можете выбрать какую-нибудь другую.

Как установить?

На примере сборки Azul Zulu.

В операционной системе Windows:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите инсталлятор (файл с расширением .msi);
  3. запустите инсталлятор и следуйте инструкциям на экране.

В операционной системе Linux:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите пакет (файл с расширением .deb или .rpm);
  3. в консоли выполните команду
    sudo apt install <путь к загруженному deb-файлу>
    либо
    sudo rpm -i <путь к загруженному rpm-файлу>

В операционной системе MacOS:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите образ диска (файл с расширением .dmg);
  3. откройте загруженный образ диска;
  4. запустите находящийся внутри него инсталлятор и следуйте инструкциям на экране.

Как проверить правильность установки?

В операционной системе Windows нужно запустить консоль (cmd) и выполнить команду where java, которая должна показать правильный путь до исполняемого файла java.exe, а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:

В операционной системе Linux и MacOS нужно запустить консоль и выполнить команду which java, которая должна показать правильный путь до исполняемого файла java (скорее всего это будет /usr/bin/java), а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:

Что ещё надо сделать?

Инсталлятор Java выполняет минимальную необходимую настройку окружения, в том числе он добавляет в переменную среды PATH путь к директории, которая содержит исполняемые файлы Java (в операционной системе Windows), либо создаёт в стандартной директории для исполняемых файлов символические ссылки на установленные исполняемые файлы Java (в других операционных системах).

Но некоторые программы вместо этого используют переменную среды JAVA_HOME, которая должна указывать на директорию, в которую установлена Java. Поэтому на всякий случай можно сразу установить эту переменную.

Для этого надо научиться определять, куда установлена Java.

В операционной системе Windows путь к директории установки можно увидеть, выполнив команду where java в консоли. Например, если вы установили сборку Zulu JDK версии 8, эта команда вернёт значение C:\Program Files\Zulu\zulu-8\bin\java.exe, а в переменную JAVA_HOME нужно установить значение C:\Program Files\Zulu\zulu-8.

В операционной системе Linux нужно посмотреть, куда указывает символическая ссылка java, это можно сделать командой readlink -f $(which java). Например, если вы установили сборку Zulu JDK версии 8, эта команда вернёт значение /usr/lib/jvm/zulu-8-amd64/jre/bin/java, а в переменную JAVA_HOME нужно установить значение /usr/lib/jvm/zulu-8-amd64/jre. Чтобы эта переменная среды устанавливалась автоматически при входе в систему, можно в файл ~/.profile добавить строчку export JAVA_HOME=$(readlink -f $(which java) | sed "s:/bin/java::").

В операционной системе MacOS есть специальная команда /usr/libexec/java_home, которая возвращает нужный путь. Например, если вы установили сборку Zulu версии 8, эта команда вернёт значение /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home, именно это значение и нужно установить в переменную JAVA_HOME. Чтобы эта переменная среды устанавливалась автоматически при входе в систему, можно в файл ~/.profile добавить строчку export JAVA_HOME=$(/usr/libexec/java_home).

А если вы собираетесь писать код на языке программирования Java, информация о расположении Java пригодится при настройке среды разработки.


Алексей Баранцев

Автор:

Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.

Мои тренинги
А ещё есть? Конечно!