пятница, 27 июня 2014 г.

JDK Linux

JDK Linux

Вот уж точно статья только для себя,потому что постоянно с этим что то не так,но мб и еще кому пригодится.
Собственно. Если кто не в курсе, то в какой-то момент компаниякоторуюнельзяназывать изменила лицензионное соглашение для JDK так, что её стало невозможно распространять через линуксячьи репозитории.
OpenJDK, который остался в репозиториях — полный шлак и не умеет даже запускать KVM-ные апплеты. Очень многие.
Тем временем jdk делает огромные шаги, вышла уже 8я версия (шустрее, выше, сильнее, а главное, что нет проблем с доступом к ipmi/ip-kvm вообще никаких).
Вот только процесс установки теперь для убунтоводов несколько нетривиален.

По-хорошему нужно пойти сюда, и ткнуть «download» под нужной версией. 
Когда мы получим файл — можно наконец-то распрощаться с оракловым говносайтом и спокойно идти в консольку.
У меня получился файл jdk-7u4-linux-x64.tar.gz
user@host:~$ tar -xvf jdk-7u4-linux-x64.tar.gz
Положим это отродие в правильное с его точки зрения место:
root@host:~# mv jdk1.7.0_04 /usr/lib/jvm/
Создадим переменную, чтобы мануал остался универсальным для любых версий (потом всё следует делать в том же терминале):
root@host:~# jdir=jdk1.7.0_04
# здесь после равно нужно указать название каталога, которому мы делали mv
Теперь создадим правильные симлинки внутри системы:
root@host:~# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/$jdir/bin/javac 1
root@host:~# update-alternatives --install /usr/bin/java java /usr/lib/jvm/$jdir/bin/java 1
root@host:~# update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/$jdir/bin/javaws 1
root@host:~# update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/$jdir/bin/jar 1
Теперь самое время убедить нашу убунту в том, что следует использовать именно 7ю jdk, которую мы только что «установили». Если других версий jdk вы не ставили — то вам просто для успокоения совести следует ввести следующие 3 команды. Если ставили — то нам зададут всякие глупые вопросы. На них придется ответить:
root@host:~# update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 manual mode
2 /usr/lib/jvm/jdk1.7.0_04/bin/javac 1 manual mode

Press enter to keep the current choice[*], or type selection number: 2
root@host:~# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
2 /usr/lib/jvm/jdk1.7.0_04/bin/java 1 manual mode

Press enter to keep the current choice[*], or type selection number: 2
root@host:~# update-alternatives --config javaws
There is only one alternative in link group javaws: /usr/lib/jvm/jdk1.7.0_04/bin/javaws
Nothing to configure.
root@host:~# update-alternatives --config jar
...
Теперь проверим, что мы всё настроили верно:
user@host:~$ ls -la /etc/alternatives/{java,javac,javaws,jar}
lrwxrwxrwx 1 root root 33 May 23 01:40 /etc/alternatives/java -> /usr/lib/jvm/jdk1.7.0_04/bin/java
lrwxrwxrwx 1 root root 34 May 23 01:39 /etc/alternatives/javac -> /usr/lib/jvm/jdk1.7.0_04/bin/javac
lrwxrwxrwx 1 root root 35 May 23 00:29 /etc/alternatives/javaws -> /usr/lib/jvm/jdk1.7.0_04/bin/javaws
...
user@host:~$ java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
Ну и осталась мелочь — рассказать нашим браузерам, что у нас есть java-плагин к ним (это актуально почти для всех браузеров, для FF и Chrome/Iron/Chromium — точно):
root@host:~# username=set_your_username_here; su ${username} -c "mkdir ~${username}/.mozilla/plugins"; rm /home/${username}/.mozilla/plugins/libnpjp2.so; su ${username} -c "ln -s /usr/lib/jvm/$jdir/jre/lib/amd64/libnpjp2.so ~${username}/.mozilla/plugins/"
Проверить, что оно заработало можно здесь.

Вот и все.

Комментариев нет:

Отправить комментарий