Логотип Java 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

OpenJDK

Установить последнюю версию OpenJDK (JDK и JRE) можно перейдя по ссылке слева или введя в терминале следующую команду:

sudo apt-get install default-jdk

OpenJRE

Установить последнюю версии JRE можно перейдя по ссылке слева или введя в терминале следующую команду:

sudo apt-get install default-jre

icedtea plugin (Java plugin)

Установить последнюю версии плагина для браузера можно перейдя по ссылке слева или введя в терминале следующую команду:

sudo apt-get install icedtea-plugin

Java documentation

Установить последнюю версии пакета документации можно перейдя по ссылке слева или введя в терминале следующую команду:

sudo apt-get install default-jdk-doc

Установка Oracle Java сторонним скриптом от проекта webupd8.org (JRE и JDK)

В связи с тем, что Oracle изменила условия распространения своей реализации Java, в репозитории Ubuntu не содержатся компоненты Oracle Java. Существует PPA организованный сайтом webupd8.org содержащий в себе программу, которая будет автоматически проверять версию Java на сайте Oracle и сравнивать её с версией установленной на вашем компьютере. Это позволяет обойти ограничения наложенные на распространение Oracle Java.

Чтобы добавить данный репозиторий и использовать последнюю версию Java с сайта Oracle, выполните в терминале следующие действия:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

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

Проверьте установленную версию:

java -version
javac -version

Инсталятор требует подтвердить принятие лицензии, если вы хотите принять лицензию автоматически, то выполните команду:

echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

Переключение между версиями Java. Вы можете установить Java 7 или другую версию командой:

sudo apt-get install oracle-java7-installer

После этого можно переключаться между версиями Java с помощью команд. Переключение на версию Java 7:

sudo update-java-alternatives -s java-7-oracle

Переключение на версию Java 8:

sudo update-java-alternatives -s java-8-oracle

Для автоматической установки переменных среды вы можете выполнить команду:

sudo apt-get install oracle-java8-set-default
Установка переменных среды может вызвать ошибки, если указать пути к разным версиям одной библиотеки (то есть будут совпадать имена классов) или путь к установленной в системе Java будет отличаться от указанного в переменных среды.

Поэтому, как вариант, если у вас нет программ использующих их, то не устанавливайте их.

Если вы используете эту команду и захотите переустановить jdk, то после переустановки необходимо выполнить её еще раз, чтобы обновить переменные (переустановить данный пакет).

Если вы переключаетесь между разными версиями Java, то также необходимо переустановить этот пакет. Для OpenJDK нету похожих пакетов поэтому для него придется указывать переменные среды вручную

sudo nano /etc/environment

Либо командой (добавленное командой export действует только до перезагрузки)

Переменная PATH должна зависить от JAVA_HOME и JRE_HOME, как показано в команде ниже. Команды с export должны быть набраны в консоли и тогда они будут действовать до перезагрузки системы. Или добавлены в конец файла /etc/profile и тогда они будут действовать после перезагрузки системы.

export PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"

Тогда для быстрого переключения на другие пепременные среды при смене версий Java нужно менять только эти переменные среды:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk
export JDK_HOME=/usr/lib/jvm/java-7-openjdk
export JRE_HOME=/usr/lib/jvm/java-7-openjdk/jre

Скорее всего данный скрипт именно так устанавливает переменную PATH так что вам не нужно будет её менять и нужно выполнить только последние три комманды.

Установка различных версий Java через графическое меню может быть сделана сторонним скриптом от Bruce Ingalls.

Установка скрипта из репозитория:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install update-java

Либо установите вручную:

sudo apt-get install zenity
wget http://webupd8.googlecode.com/files/update-java
chmod +x update-java
sudo ./update-java

После этого запустите скрипт:

sudo update-java

Для удаления Oracle Java 8 выполните команду:

sudo apt-get remove oracle-java8-installer

Установка Java вручную (на примере Oracle JDK 8)

Это краткая инструкция по минимальной установке Java SE JDK в систему. Здесь не рассмотрены вопросы с установкой всех альтернатив с привязкой man страниц, создание информационного файла для команды update-java-alternatives, создание значков и ярлыков запуска для окружения рабочего стола и настройкой binfmt для запуска jar файлов, как любой другой программный файл в системе. Все эти действия делает установщик от команды WebUpd8, рассмотренный ранее.

Загрузка

  • Загрузите архив Java JDK 8 с сайта компании Oracle.

Распаковка и расположение файлов

  • Распакуйте скачанный архив. Как правило, в debian/ubuntu для различных версий Java принято использовать каталог /usr/lib/jvm:
sudo mkdir -p /usr/lib/jvm
sudo tar -xf jdk-8-linux-i586.tar.gz -C /usr/lib/jvm

Добавление путей к файлам Java в систему (утилитой update-alternatives)

  • При помощи команды update-alternatives установите новую версию Java:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.8.0/bin/javaws 1
С update-alternatives возможно иметь несколько версий Java в системе. Нет необходимости удалять OpenJDK или другие версии Java.
  • Сконфигурируйте альтернативы на новую версию Java
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
Чтобы установить нужную версию Java после добавления командой
update-alternatives --install

исполняемого файла можно выполнить команду

sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0/bin/java

Где java можно заменить на javac, jar, javah и т. д.

  • Проверяем результат проделанной работы:
java -version
javac -version
Если необходимо добавить иные исполняемые файлы, например javah, jar или другие для использования в виде команд терминала или использования программами, то делать по аналогии выше по тексту, использую команду update-alternatives и подставляя названия нужных исполняемых файлов.

Установка плагина Java для браузера

  • Чтобы установить плагин для браузера Mozilla Firefox из Oracle Java:
sudo update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/jdk1.8.0/jre/lib/i386/libnpjp2.so 1
sudo update-alternatives --config mozilla-javaplugin.so
Обратите внимание на каталог i386 в пути к плагину. У сборки Java для другой архитектуры данный каталог может быть иным. Для архитектуры x86-64 (AMD64/Intel64/EM64T) каталог называется amd64.

Установка переменных среды

Для некоторых программ необходимо указать переменные среды - пути по которым такие программы будут искать файлы Java.

Отредактируйте файл /etc/environment/

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

Поэтому, как вариант, если у вас нет программ использующих их, то не устанавливайте их.

sudo nano /etc/environment

В переменную среды PATH добавьте пути к исполняемым файлам /usr/lib/jvm/jdk1.8.0/bin и /usr/lib/jvm/jdk1.8.0/jre/bin

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0/bin:/usr/lib/jvm/jdk1.8.0/jre/bin"

Создайте переменные среды:

JAVA_HOME="/usr/lib/jvm/jdk1.8.0"
JDK_HOME="/usr/lib/jvm/jdk1.8.0"
JRE_HOME="/usr/lib/jvm/jdk1.8.0/jre"

После редактирования файла /etc/environment перезагрузите систему.

Для быстрого переключения между версиями Java при использовании переменных среды можно использовать команды:

Переменная PATH должна зависить от JAVA_HOME и JRE_HOME, как показано в команде ниже. Команды с export должны быть набраны в консоли и тогда они будут действовать до перезагрузки системы. Или добавлены в конец файла /etc/profile и тогда они будут действовать после перезагрузки системы.

export PATH="$PATH:$JAVA_HOME/bin:$JRE_HOME/bin"

Тогда для быстрого переключения на другие пепременные среды при смене версий Java нужно менять только эти переменные среды:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk
export JDK_HOME=/usr/lib/jvm/java-7-openjdk
export JRE_HOME=/usr/lib/jvm/java-7-openjdk/jre
Если необходимо подключить каталог с дополнительными файлами типа jar или class нужно создать переменную среды CLASSPATH, где перечислить необходимые каталоги. Либо указать путь к jar файлу в случае отдельного jar файла.
CLASSPATH="/home/user/apache-tomcat-7.0.52/lib:/home/user/mysql-connector-java.jar"

Создание ярлыков

Для добавления ярлыков меню вызывающих различные утилиты с графическими меню используйте средства вашей графической оболочки. Перед этим нужно добавить через update-alternatives (по аналогии выше) исполняемые файла описанные ниже. Например в xubuntu (xfce) клик правой кнопкой мыши по рабочему столу, выбрать пункт «создать ярлык» и вписать следующие команды:

  1. Oracle Java 8 Monitoring & Management Console
    jconsole

  2. Oracle Java 8 Monitoring & Management (VisualVM)

    jvisualvm

  3. Oracle Java 8 Web Start

    javaws

  4. Oracle Java 8 Mission Control

    jmc
Также можно использовать полный путь в ярлыках к файлам
/usr/lib/jvm/java-8-oracle/bin/jconsole

тогда не придется использовать update-alternatives

Ссылки

См. также