Установка Java в Linux
Java — популярный язык программирования, разработанный в компании Sun Microsystems, ныне принадлежащей корпорации Oracle. Java занимает лидирующие позиции в мире языков программирования. Многие программы, разработанные для Linux намного лучше выполняются с использованием проприетарной версии Java.
В данной статье будет рассмотрена установка JRE (Java Runtime Environment) и JDK (Java Development Kit) 8 версии on Oracle на дистрибутивы Ubuntu 20.04, CentOS 8 и Arch Linux. Также будет рассмотрен выбор необходимой среды по умолчанию.
Чем отличается JDK от JRE
- JRE — Java Runtime Environment — это среда выполнения Java. Предназначена для обычного использования. Позволяет запускать приложения, написанные на языке Java.
- JDK— Java Development Kit — стандартная версия платформы Java, предназначенная для разработки. Это специальный пакет разработчика, в который входят документация, различные утилиты, компилятор, библиотеки классов, а также сама JRE.
Установка Java в Ubuntu
JRE
Для начала необходимо скачать архив с официального сайта Oracle выбрав пакет с именем Linux x64 если используется 64 битная система или выбрать пакет с именем Linux если используется 32 битная система:
Далее скачанный архив необходимо переместить в любую директорию и распаковать. В качестве примера будет выбрана директория /usr/java/ Предварительно данную директорию необходимо создать при помощи команды:
Для перемещения архива необходимо выполнить следующую команду:
sudo mv ~/Downloads/jre-8u311-linux-x64.tar.gz /usr/java/
Где символ ~ (тильда) означает домашнюю директорию пользователя. Далее перейдите в директорию /usr/java и распакуйте архив при помощи команды:
sudo tar -xzvf jre-8u311-linux-x64.tar.gz
Далее системе необходимо указать, где находятся установочные файлы Java. Для этого необходимо создать символическую ссылку в каталоге /usr/bin/ которая будет ссылаться на установочную директорию /usr/java/jre1.8.0_311 Для этого необходимо выполнить команду:
sudo update-alternatives —install «/usr/bin/java» «java» «/usr/java/jre1.8.0_311/bin/java» 1
После этого можно проверить версию Java выполнив команду:
JDK
Загрузите архив со средствами разработки с официального сайта компании Oracle. Необходимо выбрать раздел Linux и найти пакет с именем jdk-8u311-linux-aarch64.tar.gz:
Далее необходимо поставить галочку напротив пункта I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE тем самым подтверждая принятия условия лицензионного соглашения.
Для скачивания файла необходимо войти в свою учетную запись Oracle или создать новую, только после этого начнется загрузка архива.
В качестве примера также будет выбрана директория /usr/java. Предварительно данная директория должна быть создана. Перенесите архив в директорию /usr/java:
sudo mv ~/Downloads/jdk-8u311-linux-x64.tar.gz /usr/java
Далее перейдите в директорию /usr/java и распакуйте архив:
sudo tar -xzvf jdk-8u311-linux-x64.tar.gz
Так же, как и при настройке JRE необходимо указать, где находятся установочные файлы Java. Для этого необходимо создать символическую ссылку в каталоге /usr/bin/ которая будет ссылаться на установочную директорию /usr/java/jdk1.8.0_311. Для этого необходимо выполнить команду:
sudo update-alternatives —install /usr/bin/java java /usr/java/jdk1.8.0_311/bin/java 1
Переменные окружения
Многие программы используют переменную среды JAVA_HOME для того, чтобы определить расположение установки Java. Чтобы установить эту переменную для всех пользователей, сначала необходимо узнать, где именно хранится установка Java. Для этого необходимо выполнить команду:
sudo update-alternatives —config java
В данном случае в системе установлены JRE и JDK одновременно. Поэтому присутствует 2 пути:
Выберите нужный тип Java и скопируйте путь необходимой версии и откройте файл /etc/environment в любом текстовом редакторе (например nano):
Необходимо добавьте строку с путём установки JRE или JDK в конец этого файла:
Сохраните и закройте файл. Чтобы применить настройки, необходимо перейти в учётную запись root далее перечитать файл выполнив в терминале команду:
Установка Java в Arch Linux
JRE
В официальных репозиториях Arch Linux присутствует только OpenJDK, в то время как проприетарная JRE присутствует только в пользовательских репозиториях aur. Для установки JRE необходимо перейти по ссылке официальной страницы JRE в репозитории aur и найти ссылку на GIT репозиторий программы в поле Git Clone URL:
Далее необходимо склонировать данный репозиторий при помощи команды:
git clone https://aur.archlinux.org/jre8.git
Перейдите в скачанный репозиторий:
Для установки JRE необходимо выполнить команду:
При появлении фразы Proceed with installation? [Y/n] введите y и нажмите на клавишу Enter:
JDK
Как и JRE JDK так же присутствует только в пользовательском репозитории aur. Несмотря на то, что установочный процесс совпадает с установкой JRE, у установки JDK есть одна особенность — с тех пор как пакеты JDK расположенные на сайте Oracle требует авторизации на сайте необходимо заранее скачать пакет JDK иначе установщик выдаст ошибку.
Перейдите на официальный сайт Oracle найдите и скачайте архив с именем jdk-8u301-linux-x64.tar.gz:
Далее склонируйте репозиторий с JDK выполнив команду:
git clone https://aur.archlinux.org/jdk8.git
Переместите ранее скачанный архив в только что склонированный репозиторий при помощи команды:
mv Downloads/jdk-8u301-linux-x64.tar.gz jdk8/
Где Downloads — директория куда был скачен архив, а jdk8/— директория с самим JDK. Перейдите в директорию с JDK и запустите команду для установки:
При появлении фразы Proceed with installation? [Y/n] введите y и нажмите на клавишу Enter:
После этого установка JDK будет завершена.
Установка Java в CentOS 8
JRE
Для RHEL дистрибутивов, таких как, CentOS, Fedora, RedHat и OpenSUSE есть официальный RPM-пакет. Для начала необходимо скачать пакет с официального сайта Oracle выбрав пакет с именем Linux RPM если используется 64 битная система или выбрать пакет с именем Linux x64 RPM если используется 32 битная система:
Чтобы установить пакет необходимо выполнить команду в терминале:
sudo rpm -i jre-8u311-linux-x64.rpm
После установки можно проверить версию JRE при помощи команды:
JDK
Средства для разработчиков также можно скачать с официального сайта Oracle выбрав пакет с именем jdk-8u311-linux-x64.rpm для 64 битной системы и выбрав пакет с именем jdk-8u311-linux-i586.rpm для 32 битной системы:
Для установки из терминала, необходимо выполнить команду:
sudo rpm -i jdk-8u311-linux-x64.rpm
Для просмотра версии JDKнеобходимо выполнить команду:
Выбор версии Java по умолчанию
Ubuntu 20.04
Для начала необходимо вывести список всех установленных версий Java в системе. Для этого необходимо выполнить команду:
sudo update-alternatives —config java
Если у в вас системе установлено несколько версий Java можно выбрать ту, которая будет использоваться по умолчанию. Так как на данный момент в системе присутствует только 8 версия Java то выбирать версию нет необходимости. Если в системе одновременно присутствуют 2 и более версии, то для выбора версии по умолчанию необходимо ввести цифру, которая будет располагаться напротив нужной версии.
ArchLinux
Для начала просмотрите список установленных сред при помощи команды:
Далее установите необходимую версию:
sudo archlinux -java set имя_среды
sudo archlinux-java set java-8-jdk
Для проверки версии JDK необходимо выполнить команду:
Для проверки версии JRE необходимо выполнить команду:
CentOS 8.2
Выбрать необходимую версию Java можно с помощью команды ниже (так же, как и в Ubuntu). Необходимо выбрать цифру, соответствующую номеру версии:
sudo update-alternatives —config java
Выводы
В данной статье показан процесс установки и настройки Java в различных дистрибутивах Linux. Если остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
making a java package in the command line
Though it’s probably reccomended one uses and IDE for coding advanced java projects, I personally prefer running almost entirely command-line (using gedit as a text-editor). So please don’t just tell me «Just use eclipse!» or something 😛 My question is what the method of creating a package in java is by a command. I’m not talking about packaging an application that runs in the command line, I’m talking about making a package in the command line. Am I making a text file? Am I making a directory? Relatedly, how does one link to related libs and natives without use of an IDE? I know I’m being really awkward here, but I really prefer the control one gets working in command line.
«Creating a package»? Do you mean «creating a JAR»? If so, start with the documentation: docs.oracle.com/javase/tutorial/deployment/jar/index.html.
5 Answers 5
There are three parts to it: (1) create directory structure; (2) indicate package in java file; (3) compile it.
For example, if you want to create package com.mycompany.myproject , then you need to start in the base directory for your project and then:
(1) create directory com/mycompany/myproject
(2) create java files in that directory, stating package com.mycompany.myproject in them;
(3) compile the files, for example, with javac -cp . com/mycompany/myproject/*.java
You may want to specify a different output directory so as to not mix sources and compiled classes.
If you need to use external libraries (.jar files) to compile, then you need to use -cp or -classpath command-line parameter to javac tool to specify them, e.g.
javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java
It may be a good idea to put all external libraries in one place, e.g. lib subdirectory of your main project directory. And, by the way, the above javac command assumes unix-like environment. If you’re on Windows, then you’ll need to use ; for path separation.