forum.bitel.ru
http://forum.bitel.ru/

локальная или глобальная ява
http://forum.bitel.ru/viewtopic.php?f=1&t=5684
Страница 1 из 1

Автор:  skyb [ 07 июл 2011, 00:41 ]
Заголовок сообщения:  локальная или глобальная ява

Собственно сабж. Кто за что? Просто все используют отдельную железку под биллинг и чаще всего там нет других задач для явы. Чтоб не переписывать постоянно везде, а 1 раз изменить системную переменную. Ну и конечно чтоб возможность была выставить при желании все руками?

Автор:  snark [ 07 июл 2011, 01:25 ]
Заголовок сообщения:  Re: локальная или глобальная ява

Речь об установке переменной var='value' через export/setenv для шелла и конкретно в скрипте?

Автор:  skyb [ 07 июл 2011, 01:46 ]
Заголовок сообщения:  Re: локальная или глобальная ява

snark писал(а):
Речь об установке переменной var='value' через export/setenv для шелла и конкретно в скрипте?

Смотри, разработчики подготавливают 1 раз все конфиги для запуска активэмкъю, биллинга,радиуса и тд, которые будут читать установленную переменную JAVA_HOME в системе глобально. Тоесть установить ее 1 раз в системе, а скрипты уже от туда будут брать.

Автор:  snark [ 07 июл 2011, 01:51 ]
Заголовок сообщения:  Re: локальная или глобальная ява

Так оно щас так и есть же. Скрипт просто проверяет есть ли переменная и если есть - берет и использует ее.

Автор:  skyb [ 07 июл 2011, 01:55 ]
Заголовок сообщения:  Re: локальная или глобальная ява

snark писал(а):
Так оно щас так и есть же. Скрипт просто проверяет есть ли переменная и если есть - берет и использует ее.

Сейчас необходимо во всех скриптах ставить JAVA_HOME=.....

Автор:  snark [ 07 июл 2011, 14:58 ]
Заголовок сообщения:  Re: локальная или глобальная ява

Код:
# grep LANG /etc/profile
LANG="en_US.UTF-8"; export LANG

Код:
# printenv LANG
en_US.UTF-8

Код:
# ./script.sh
en_US.UTF-8

Код:
# cat script.sh
#!/bin/sh
echo $LANG

Чего не так то?

Автор:  skyb [ 07 июл 2011, 15:12 ]
Заголовок сообщения:  Re: локальная или глобальная ява

http://eqlbin.blogspot.com/2010/04/java ... pdate.html
До установки этих переменных на java -v - мне выдавало openjdk (хотя был скачан и установлен нормальный сановский jdk), после установки этих переменных и указанием до того пути куда я положил скачанную сановскую яву(/opt/java/djk) на java -v выдавал нормальную яву. Так вот я предлагаю использовать эту переменную в скриптах запуска и в конфигах, пути ведь известны. Чтобы при настройке и установки нового биллинга/клиента/активэмкъю и тд не прописывать во всех местах JAVA_HOME а воспользоваться глобальной переменной.

Автор:  snark [ 07 июл 2011, 15:53 ]
Заголовок сообщения:  Re: локальная или глобальная ява

skyb писал(а):
я предлагаю использовать эту переменную в скриптах запуска и в конфигах

Если установить JAVA_HOME для шелла, то переменная там и так будет видна - см. выше.

skyb писал(а):
пути ведь известны

Пути ... к чему? К яве? На каждой системе они будут такими какими их захочет видеть админ.

skyb писал(а):
не прописывать во всех местах JAVA_HOME а воспользоваться глобальной переменной

Еще - уже сейчас это можно делать! Достаточно только либо:
  • Вообще убрать:
    Код:
    if [ -z "$JAVA_HOME" ]; then
      echo "The JAVA_HOME environment variable is not defined"
      echo "This environment variable is needed to run this program"
      exit 1
    fi
  • Либо сделать как нить так:
    Код:
    JAVA_HOME="$JAVA_HOME"

    if [ -z "$JAVA_HOME" ]; then
        ...
    fi

Автор:  skyb [ 07 июл 2011, 17:14 ]
Заголовок сообщения:  Re: локальная или глобальная ява

snark писал(а):
skyb писал(а):
я предлагаю использовать эту переменную в скриптах запуска и в конфигах

Если установить JAVA_HOME для шелла, то переменная там и так будет видна - см. выше.

skyb писал(а):
пути ведь известны

Пути ... к чему? К яве? На каждой системе они будут такими какими их захочет видеть админ.

skyb писал(а):
не прописывать во всех местах JAVA_HOME а воспользоваться глобальной переменной

Еще - уже сейчас это можно делать! Достаточно только либо:
  • Вообще убрать:
    Код:
    if [ -z "$JAVA_HOME" ]; then
      echo "The JAVA_HOME environment variable is not defined"
      echo "This environment variable is needed to run this program"
      exit 1
    fi
  • Либо сделать как нить так:
    Код:
    JAVA_HOME="$JAVA_HOME"

    if [ -z "$JAVA_HOME" ]; then
        ...
    fi

Я это и предлагаю, просто зашить изначально это, а не править самому =)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/