Выбор JVM

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Выбор JVM

Сообщение Slimy »

Не знаю правильный ли топик выбрал. Вопрос такой кто знает есть какие перелючалки установленных jvm так сказать в один клик, ну или в одну команду. Чтото толкового ничего не попадается.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Выбор JVM

Сообщение sash-kan »

механизм alternatives имеется? (косвенные признаки: /etc/alternatives/, /usr/sbin/update-alternatives)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: Выбор JVM

Сообщение Slimy »

Да есть такой. На данный момент решил проблему так
в /etc/bash.bashrc

Код: Выделить всё

export JAVA_HOME="/home/mf/Soft/installed/jrmc"
export PATH="${JAVA_HOME}/bin:${PATH}"mf@mf-laptop:~$

Это работает. Но увы не совсем. Получается в консоли я всегда получаю требуемую JVM однако, из меню(gnome) я получаю JVM по умолчанию, из пакетов которая. Думаю проблема в том что меню запускается раньше модификации PATH и соответственно имеет старую версию всегда. Как поправить идей нет. Что еще куда еще можно для более ранней инициализации засунуть эту строчку. Ну и получается что меню всегда будет работать с одной и тойже JVM.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Выбор JVM

Сообщение sash-kan »

как она запускается, эта ваша java?
$ jvm
?
$ java
?
есть такой линк в /etc/alternatives/ ?
тогда покажите вывод
/usr/sbin/update-alternatives --display <имя линка — jvm, java или как оно там называется>
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: Выбор JVM

Сообщение Slimy »

Код: Выделить всё

/usr/sbin/update-alternatives --display java
java - автоматический режим
  ссылка сейчас указывает на /usr/lib/jvm/java-6-sun/jre/bin/java
/usr/lib/jvm/java-6-sun/jre/bin/java - priority 63
  подчинённый java.1.gz: /usr/lib/jvm/java-6-sun/jre/man/man1/java.1.gz
Текущая `лучшая' версия: /usr/lib/jvm/java-6-sun/jre/bin/java.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Выбор JVM

Сообщение sash-kan »

ну вот, вам всего-то нужно добавить свою альтернативу. а потом одной командой переключаться.
Slimy, насколько я понял, механику alternatives вы не улавливаете? попробую в двух словах. на примере.

Shell

$ which awk /usr/bin/awk $ file /usr/bin/awk /usr/bin/awk: symbolic link to `/etc/alternatives/awk' $ file /etc/alternatives/awk /etc/alternatives/awk: symbolic link to `/usr/bin/gawk' $ file /usr/bin/gawk /usr/bin/gawk: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped

т.е., если я введу команду awk, ядро, пройдя по двум симлинкам, запустит бинарник /usr/bin/gawk
альтернатив же для /usr/bin/awk зарегистрировано у меня в системе две — /usr/bin/mawk и /usr/bin/gawk (на slave-ы внимания не обращайте, если будет желание узнать, читайте man update-alternatives):

Shell

$ /usr/sbin/update-alternatives --display awk awk - status is auto. link currently points to /usr/bin/gawk /usr/bin/mawk - priority 5 slave nawk: /usr/bin/mawk slave nawk.1.gz: /usr/share/man/man1/mawk.1.gz slave awk.1.gz: /usr/share/man/man1/mawk.1.gz /usr/bin/gawk - priority 10 slave nawk: /usr/bin/gawk slave nawk.1.gz: /usr/share/man/man1/gawk.1.gz slave awk.1.gz: /usr/share/man/man1/gawk.1.gz Current `best' version is /usr/bin/gawk.

я могу зарегистрировать и свою альтернативу:

Shell

$ sudo update-alternatives --install /usr/bin/awk awk /bin/ping 1 $ /usr/sbin/update-alternatives --display awk awk - status is auto. link currently points to /usr/bin/gawk /usr/bin/mawk - priority 5 slave nawk: /usr/bin/mawk slave nawk.1.gz: /usr/share/man/man1/mawk.1.gz slave awk.1.gz: /usr/share/man/man1/mawk.1.gz /usr/bin/gawk - priority 10 slave nawk: /usr/bin/gawk slave nawk.1.gz: /usr/share/man/man1/gawk.1.gz slave awk.1.gz: /usr/share/man/man1/gawk.1.gz /bin/ping - priority 1 Current `best' version is /usr/bin/gawk.

и «переключиться» на неё:

Shell

$ sudo update-alternatives --set awk /bin/ping Using '/bin/ping' to provide 'awk'. $ /usr/sbin/update-alternatives --display awk awk - status is manual. link currently points to /bin/ping /usr/bin/mawk - priority 5 slave nawk: /usr/bin/mawk slave nawk.1.gz: /usr/share/man/man1/mawk.1.gz slave awk.1.gz: /usr/share/man/man1/mawk.1.gz /usr/bin/gawk - priority 10 slave nawk: /usr/bin/gawk slave nawk.1.gz: /usr/share/man/man1/gawk.1.gz slave awk.1.gz: /usr/share/man/man1/gawk.1.gz /bin/ping - priority 1 Current `best' version is /usr/bin/gawk. $ awk -V ping utility, iputils-sss20071127


надеюсь, суть стала яснее?
более наглядно можно смотреть/переключать альтернативы не с помощью --display/--set, а с помощью --config:

Shell

$ sudo update-alternatives --config awk There are 3 alternatives which provide `awk'. Selection Alternative ----------------------------------------------- 1 /usr/bin/mawk + 2 /usr/bin/gawk * 3 /bin/ping Press enter to keep the default[*], or type selection number:

удалить альтернативу можно с помощью --remove:

Shell

$ sudo update-alternatives --remove awk /bin/ping

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Slimy
Сообщения: 1689
ОС: openSuSE 11.2 GM (GеMор едишн)

Re: Выбор JVM

Сообщение Slimy »

В общем то да, но есть сложность, как быть с тем что в lib и вообще далеко не 1 файл надо ведь.
Если уже ничего не помогает - прочти инструкцию.
sysinstall - гадость :)
ASUS A6q00Vm Pentium-M 1.7 GHz, 2Gb RAM, 160Gb HDD,
GeForce Go 7300 64Mb video
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Выбор JVM

Сообщение sash-kan »

Slimy
не понял насчёт lib и «далеко не одного файла».
если требуются какие-то особые переменные окружения, устанавливайте в качестве альтернативы скрипт-обёртку. примерно такую:

Shell

$ cat /home/mf/Soft/installed/jrmc/java.script dir=/home/mf/Soft/installed/jrmc export JAVA_HOME="$dir" export PATH="${JAVA_HOME}/bin:${PATH}" java $@

Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: