21.12.2011

Как по фэн-шую установить нужную версию Java на Debian/Ubuntu

Вариантов вообще много. От дебиановского пути до аналога RVM/PyEnv под Java.
Я покажу ручной.

Сначала скачиваем ее на сайте Oracle под свою платформу в tar.gz.

Затем распаковываем и получаем в результате директорию вроде jdk1.7.0_02 :
tar xzf jdk-7u2-linux-x64.tar.gz
Если у Вас старая версия Java, у которой расширение .bin, то надо сделать так:
chmod +x jdk-1_5_0_22-linux-amd64.bin
./jdk-1_5_0_22-linux-amd64.bin

Эту директорию мы переносим туда, где должны храниться все Java-машины:
mkdir /usr/lib/jvm
mv jdk1.7.0_02 /usr/lib/jvm/.

Так как в перспективе будут выходить новые версии Java, то мы создадим симлинк и будем работать только с ним, а в случае установки новой версии, просто положим ее рядом и перенаправим симлинк:
cd /usr/lib/jvm/
ln -s jdk1.7.0_02 java-7-sun

Маленькая ремарка для незнакомых: во всех операционных системах есть переменная $PATH, которая содержит набор путей, где должны лежать программы. То есть если Вы не пишете полный путь к программе (например /bin/ls), а просто пишете ls (понятно, что в текущей директории этого бинарника нету), то система возьме переменную $PATH и проверит в каждой из этих директорий. Как правило, если Вы напишете слово java, то искать его система будет в /usr/bin/java - и он там есть. Но обратите внимание, что это не бинарник, а всего лишь ссылка (симлинк) на него:

# ls -l /usr//bin/java
lrwxrwxrwx 1 root root 22 2011-12-21 13:23 /usr/bin/java -> /etc/alternatives/java

И обратите внимание, что ведет она опять же не туда, где у нас лежит Java-машина, а в alternatives - то есть в точку, где мы можем "диспетчерить" направление между версиями.

Далее смотрим какие у нас версии уже заданы:
update-alternatives --display java

И видим, что на сейчас у нас сконфигурирован всего лишь один путь: /usr/lib/jvm/java-6-sun/jre/bin/java (или вообще ничего нету, а может наоборот накопились версии).
Главное обратите внимание: последний столбик - приоритет. Чем он больше, чем выше.

Но нам нужно добавить свою альтернативу. И добавляем ее со своим приоритетом (обратите внимание, что путь идет до бинарника включительно, и причем идет через симлинк, а не через версию конкретной Java):
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 99

Ну вот и все.
Если захотите откатить, то просто переконфигурируйте с выбором другого номера пути:
update-alternatives --config java

А вот команда для тех, кто еще хочет поставить плагин на FireFox (внимание на архитектуру, поставьте свою: amd64 или i386):
update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/usr/bin/java java /usr/lib/jvm/java-7-sun/lib/amd64/libnpjp2.so" 1

Проверяется переходом в FireFox на страничку about:plugins


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

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