Как обновить Java на сервере Tomcat? - PullRequest
0 голосов
/ 22 мая 2018

Мой сервер находится в среде Unix.И я использую сервер Tomcat.Я пытаюсь обновить версию Java, но tomcat не запускается после обновления.

which java по-прежнему выдает старую версию.

Ниже приведен скрипт для java, указывающий на tomcat:

if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
    some script
fi
else
    JAVA_PATH=`which java 2>/dev/null`
    if [ "x$JAVA_PATH" != "x" ]; then
      JAVA_PATH=`dirname $JAVA_PATH 2>/dev/null`
      JRE_HOME=`dirname $JAVA_PATH 2>/dev/null`
    fi
    if [ "x$JRE_HOME" = "x" ]; then
      if [ -x /usr/bin/java ]; then
        JRE_HOME=/usr
      fi
    fi
  fi
  if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
    echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
    echo "At least one of these environment variable is needed to run this program"
    exit 1
  fi
fi

1 Ответ

0 голосов
/ 23 мая 2018

Tomcat использует переменную JAVA_HOME, чтобы получить путь для Java.Таким образом, вопрос детализируется до как установить JAVA_HOME и где его установить ?

Вы можете найти JAVA_HOME в less /etc/profile.d/jdk.sh в зависимости от того, какую оболочку вы используете.Я использую cshell, поэтому он находится под /etc/profile.d/jdk.csh

Если вы проверите less /etc/profile, это файл, который загружается при входе пользователя. Существует переменная, называемая PATH, значение для которойможет быть что-то вроде /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, поэтому вы можете получить доступ к любому исполняемому файлу по этим путям.

Строка в ponder в /etc/profile - это for i in /etc/profile.d/*.sh, откуда будут находиться все переменные (в случае bash)загружен в окружающую среду.Также важно отметить, что если вы устанавливаете значения здесь, эти переменные будут установлены для всех пользователей, а не только для одного.

Вы можете найти this и this ответ полезен.

...