7.A Профессор Фортран о тонкостях установки Java
![](https://img.golos.io/proxy/https://i.imgur.com/2sPmYrG.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/bA2f1sp.jpg)
Фортран: Дорогие друзья, сегодня я хочу немного поговорить об особенностях установки Java на компьютер.
Первое, что нужно знать, если вы новичок, что Java доступна бесплатно для скачивания из сети Интернет. Скачать Java можно здесь.
![](https://img.golos.io/proxy/https://i.imgur.com/IJJl0Me.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/CrlphVo.jpg)
Воробей: На этой странице очень много ссылок. Что именно нужно скачивать?
![](https://img.golos.io/proxy/https://i.imgur.com/4q86sDG.jpg)
Фортран: Качать нужно JDK, т.е. Java Development Kit. В этом наборе утилит есть все необходимые программы для начала успешной разработки на языке Java, в частности, javac
и java
, о которых мы говорили ранее.
Тут главное случайно не перепутать и не скачать JRE, т.е. Java Runtime Environment. В этом пакете нет компилятора и прочих инструментов, а есть только виртуальная машина Java и связанные с ней компоненты, которых будет недостаточно для программиста.
![](https://img.golos.io/proxy/https://i.imgur.com/O3w5GCF.jpg)
Перед скачиванием нужно выбрать переключатель Accept License Agreement для того, чтобы стали доступны ссылки на скачивание JDK под любую нужную нам платформу, будь у нас Linux, OS X, Windows или даже Solaris.
Далее жмем на нужную ссылку и скачиваем дистрибутив JDK.
![](https://img.golos.io/proxy/https://i.imgur.com/OHYgcLf.jpg)
Воробей: Все, профессор, спасибо. Далее все понятно, я вот под свою винду уже все установил.
![](https://img.golos.io/proxy/https://i.imgur.com/sghKRc8.jpg)
Жмем Next.
![](https://img.golos.io/proxy/https://i.imgur.com/4S1NJce.jpg)
Тут выбираем все: и инструменты разработки (Development Tools), и исходные коды на случай, если мы захотим поотлаживать недра Java (Source Code), и виртуальную машину Java (Public JRE). Последнее, впрочем, необязательно, т.к. в пакете Development Tools виртуальная машина также присутствует.
Выбираем путь установки и жмем Next.
![](https://img.golos.io/proxy/https://i.imgur.com/DFXUCWP.jpg)
Вначале установятся Development Tools и Source Code, а потом вылезет окно с отдельным диалогом по выбору пути установки JRE.
![](https://img.golos.io/proxy/https://i.imgur.com/ue7ieSB.jpg)
Лично я все оставляю по-умолчанию, в том числе оставляю галочку, разрешающую Java работать в браузере, на случай, если мы захотим создавать Java-апплеты.
Жмем Next.
![](https://img.golos.io/proxy/https://i.imgur.com/Uz61saX.jpg)
После установки жмем Close.
![](https://img.golos.io/proxy/https://i.imgur.com/CN7zoGC.jpg)
И все. Правильно, профессор?
![](https://img.golos.io/proxy/https://i.imgur.com/cSf8M0i.jpg)
Фортран: Правильно, то оно правильно, но не совсем. Так как еще нужно проверить и установить все необходимые переменные окружения. Кроме того, ты показал процесс установки для Windows 10, а для других платформ процесс будет, конечно, схож, но могут быть и отличия. В любом случае, детали инсталляции лучше сверить с инструкцией по установке JDK для конкретной платформы по ссылке.
Здесь я хочу остановиться на таких переменных окружения, необходимых для работы Java и с Java, как PATH
, CLASSPATH
, JAVA_HOME
и JRE_HOME
.
Переменная окружения PATH
на нашем компьютере обозначает, в каких директориях операционная система будет искать исполняемые файлы программ, в частности приложения для компиляции (javac
) и запуска приложений Java (java
). Надо внимательно следовать инструкции по установке Java, чтобы быть уверенным, что переменная окружения PATH
установлена правильно. Шаги, которые нужно предпринять по установке переменной окружения, зависят от операционной системы, а иногда и от версии операционной системы. Инструкции для различных платформ можно посмотреть здесь.
Если переменная PATH
будет установлена неправильно, на Windows и некоторых дистрибутивах Linux, когда мы будем использовать инструменты JDK, мы получим следующее сообщение об ошибке:
“java” не является внутренней или внешней командой, исполняемой программой или пакетным файлом
В этом случае нам нужно вернуться к инструкции по установке переменной PATH
и перепроверить наши действия.
![](https://img.golos.io/proxy/https://i.imgur.com/yu7hIAV.jpg)
Воробей: Смотрите, профессор, у меня на винде все установлено правильно.
Вот моя директория установки JDK 9:
C:\Program Files\Java\jdk-9
А когда у меня была JDK 8, я ставил ее в директорию:
C:\Program Files\Java\jdk1.8.0_121
Я знаю, профессор, что в зависимости от платформы имя директория установки JDK может отличаться, также различие может быть связано с тем, что мы используем другой update для JDK или другую версию JDK. Для Linux, расположение зависит от инсталлятора и дистрибутива Linux, который мы используем.
Главное то, что переменная окружения PATH
должна указывать на поддиректорию /bin
в директории установки JDK, т.е. в моем случае это:
C:\Program Files\Java\jdk-9\bin
Поэтому я пошел в Панель управления, в Систему
![](https://img.golos.io/proxy/https://i.imgur.com/8i9VCgg.jpg)
Выбрал Дополнительные параметры системы
![](https://img.golos.io/proxy/https://i.imgur.com/EXWGJdc.jpg)
И далее Переменные среды
![](https://img.golos.io/proxy/https://i.imgur.com/8BoM3d5.jpg)
А потом поменял переменную Path
, через выбор соответствующей системной переменной и нажатие кнопки Изменить…
![](https://img.golos.io/proxy/https://i.imgur.com/Zpv6N6J.jpg)
Затем я нажал кнопку Создать
![](https://img.golos.io/proxy/https://i.imgur.com/b9Z5emu.jpg)
Прописал свой путь к подпапке /bin
в папке с JDK и сохранил изменения, нажав кнопку ОК.
![](https://img.golos.io/proxy/https://i.imgur.com/UrRx4tq.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/FRMnGRJ.jpg)
Фортран: Верно. Хочу лишь подчеркнуть, что устанавливая переменную PATH
, убедись в правильности имени директории, которое содержит версию JDK с учетом версии update-а. Например, Воробей, когда у тебя была Java 8 и путь к JDK был следующий
C:\Program Files\Java\jdk1.8.0_121
это означало, что у тебя был update 121. Пока неизвестно как будут именоваться папки обновленной версии Java 9, но скорее всего также, как и в Java 8, и ранее. Поэтому обновив JDK до нового update-а, имя папки будет меняться, и переменную PATH
нужно будет также скорректировать.
Но это еще не все, если при запуске Java программы, ты получишь следующее сообщение об ошибке
Exception in thread "main" java.lang.NoClassDefFoundError: НашКласс
значит следует создать или изменить переменную окружения CLASSPATH
. Для исправления этой ошибки, следуй тем же шагам, что и при установке переменной PATH
, чтобы задать переменную CLASSPATH
, и отредактируй значение этой переменной, добавив туда текущую директорию — обычно обозначаемую в операционных системах символом точки (.). В Windows следует добавить
.;
в начало значения переменной CLASSPATH
(без пробелов как до, так и после этих символов). На других платформах, точку с запятой нужно заменить на используемый на данной платформе символ-разделитель пути. В Linux и OS X – это двоеточие (:).
Кроме того, для работы некоторых программ на Java требуется установить переменную окружения JAVA_HOME
, указав в качестве значения имя директории установки JDK (т.е. самой JDK, а не подпапки /bin, как это было для переменной PATH
). В твоем случае, Воробей, это следующий путь:
C:\Program Files\Java\jdk-9
Ну, и, чтобы все было совсем идеально, также задай переменную JRE_HOME
, которая ссылается на папку установки JRE и в твоем случае будет следующей
C:\Program Files\Java\jre-9
![](https://img.golos.io/proxy/https://i.imgur.com/FYAOt7d.jpg)
Воробей: Знаю, знаю, профессор, посмотрите, вроде я все правильно сделал.
![](https://img.golos.io/proxy/https://i.imgur.com/PL3w99O.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/5rTzdLp.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/xvaZwAP.jpg)
![](https://img.golos.io/proxy/https://i.imgur.com/xd2qJ5P.jpg)
Переменную CLASSPATH
пока создавать не стал, но создам, если возникнут проблемы, о которых вы сказали.
![](https://img.golos.io/proxy/https://i.imgur.com/jbADJeu.jpg)
Фортран: Молодец, хотел бы придраться, да не к чему.
Думаю, что пора заканчивать, а то мы и так слишком затянули эту простую тему.
В следующий раз мы напишем наше первое приложение на Java.