Замена OpenJDK 7 на Oracle JDK в Linux Mint

Замена OpenJDK на Oracle JDK в Linux Mint 17.1. Для чего это нужно?
Вновь установленная IDE Android Studio, например, "немного" переживает по поводу установленной в системе OpenJDK, а именно - Android Studio не устраивает стабильность ее работы. Да и виртуальная машина от Oracle, говорят, немного пошустрее. Опыт работы с MPLAB от Microchip в Linux, показывает что по скорости работы эта IDE, написанная на базе платформы NetBeans, базирующейся на Java, намного отстает от версии под Windows.
Замена OpenJDK на Oracle JDK описана на английском в http://how-to.linuxcareer.com/oracle-java-jdk-7-on-ubuntu-linux-installa...
Используем этот материал, подгоняя под имеющуюся ситуацию.
В Linux Mint 17 уже есть установленная виртуальная машина Java - OpenJDK, смотрим в терминале
$ java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

Команда
$ sudo update-alternatives --list java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

показывает куда это установлено.

Скачиваем jdk-7u79-linux-x64.tar.gz с официального сайта отсюда http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1...
Распаковываем оракловский JDK в имеющуюся директорию /usr/lib/jvm
$ sudo tar -C /usr/lib/jvm -xzf jdk-7u79-linux-x64.tar.gz
смотрим
$ ls /usr/lib/jvm
java-1.7.0-openjdk-amd64 java-6-openjdk-amd64 java-7-openjdk-amd64 jdk1.7.0_79

Устанавливаем символическую ссылку, определяющую команду по-умолчанию
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_79/jre/bin/java 1
смотрим
$ sudo update-alternatives --list java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
/usr/lib/jvm/jdk1.7.0_79/jre/bin/java

$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

т.е. пока без изменений - OpenJDK везде по умолчанию.

меняем приоритеты
$ sudo update-alternatives --config java
Есть 2 варианта для альтернативы java (предоставляет /usr/bin/java).
Выбор Путь Приор Состояние
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 автоматический режим
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 ручной режим
2 /usr/lib/jvm/jdk1.7.0_79/jre/bin/java 1 ручной режим
Нажмите enter, чтобы сохранить текущий выбор[*], или введите выбранное число: 2

т.е. жмем нужное - "2" и Enter.
update-alternatives: используется /usr/lib/jvm/jdk1.7.0_79/jre/bin/java для предоставления /usr/bin/java (java) в ручной режим

проверяем
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

редактируем файл .profile в домашнем каталоге
$ vi ~/.profile
добавляем в конец файла строчку
export PATH="$PATH:/usr/lib/jvm/jdk1.7.0_79/bin/"
фиксируем изменения
$ source .profile
проверяем
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.7.0_79/bin/

проверяем виртуальную машину
$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

проверяем компилятор Java
$ javac
Usage: javac
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
....

т.е., все заработало!!!

Комментарии

Проверено на другой машине, тоже Linux Mint 17.1. Все работает, алгоритм верен!

Страницы