Как обновить JDK с Oracle на Zulu в RedHat Linux

Я хочу обновить свой Linux JDK с Oracle на Azul-Zulu. Может ли кто-нибудь помочь мне в этом. Что делать после загрузки пакета tar.gz Zulu? Я вижу, что после извлечения загруженного пакета нам нужно поместить его в путь, по которому нам нужно получить доступ к java. Это правильно или что мы можем сделать больше, например, установить переменные среды и т. Д.


person Devika    schedule 05.02.2020    source источник
comment
Вы можете определить переменную среды JAVA_HOME, но это не обязательно. Вы можете запускать многие Java-программы, не определяя JAVA_HOME. Некоторые приложения, написанные на Java, например Eclipse IDE, ищут JAVA_HOME.   -  person Abra    schedule 05.02.2020
comment
Если вы не знаете, что делать с архивом, лучше выберите инсталляторы, которые сделают всю настройку за вас. На сайте загрузки Zulu их целый ряд: azul.com/downloads/zulu-community.   -  person Sergey Grinev    schedule 05.02.2020


Ответы (1)


ответ на ваш вопрос зависит от того, что вы на самом деле хотите начать с JDK. Иногда достаточно изменить путь к двоичному файлу java в стартовом скрипте, например. Eclipse или Tomcat, иногда вам также нужно настроить переменную JAVA_HOME.

Чтобы настроить Java только для себя:

Проверьте свою оболочку, запустив echo $SHELL

-> /bin/bash
-> /bin/zsh
-> /bin/tcsh

или что-то в этом роде. Найдите файл конфигурации вашей оболочки:

bash: ~/.bashrc
zsh: ~/.zshrc
tcsh: ~/.cshrc or ~/.tcshrc

и, возможно, большинство оболочек: ~/.profile или ~/.login проверьте эти файлы, если у вас уже есть объявления переменных для: JAVA_HOME JRE_HOME (и редко встречается) SDK_HOME JDK_HOME

проверьте, содержит ли какой-либо из этих файлов настройку для переменной PATH (вероятно, имеет)

Если вы нашли какую-либо из переменных *_HOME выше, вы можете изменить их, чтобы они отражали ваш новый домашний каталог java: например. zulu11.37.17-ca-jdk11.0.6-linux_x64, расположенный в /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64, означает установку следующих переменных: zsh и bash:

export JAVA_HOME=/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64
export JRE_HOME=/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64

ткш

setenv JAVA_HOME /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64
setenv JRE_HOME /opt/zulu11.37.17-ca-jdk11.0.6-linux_x64

SDK_HOME и JDK_HOME также могут указывать на вышеуказанные местоположения, но обычно они не используются.

Если вы где-то нашли свой PATH, он может выглядеть примерно так: zsh и bash:

 export PATH=~/bin:$PATH

ткш:

 setenv PATH ~/bin:$PATH

Чтобы ваша новая java отображалась «перед» «другой» java, вам нужно обновить (или создать, если она отсутствует), например, zsh и bash:

 export PATH=~/bin:/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64/bin:$PATH

ткш:

 setenv PATH ~/bin:/opt/zulu11.37.17-ca-jdk11.0.6-linux_x64/bin:$PATH

После полного выхода из системы и повторного входа ваши JAVA_HOME и PATH можно контролировать в оболочке следующим образом:

echo $JAVA_HOME    -> should point to *your* java folder
echo $PATH         -> should contain *your* java folder's bin directroy
which java         -> should list the new java binary instead of /bin/java or /usr/bin/java

Кстати: переменные JAVA_HOME, JRE_HOME и PATH также могут быть установлены в startscript, например. catalina.sh для tomcat или eclipse.ini для eclipse, если вы не хотите изменять свою среду.

Если вы загружаете RPM/DEB вместо tar.gz и устанавливаете пакет, вам (может быть) не нужно ничего настраивать, поскольку пакеты могут перенастроить вашу систему для вас.

Привет, Хольгер

person holle2de    schedule 05.02.2020
comment
holle2de, спасибо за ответ, и это было бы полезно. Не могли бы вы рассказать мне, как мне установить Zulu Jdk в качестве альтернативы Java? Так что, если у моего приложения есть какие-либо проблемы с Zulu JDK, я могу вернуть его обратно - person Devika; 09.02.2020
comment
@Devika, пожалуйста, загрузите версию, подходящую для вашей системы, и распакуйте/установите ее по своему подобию. - person holle2de; 16.02.2020
comment
@Devika Я бы использовал архив Zip/tar.gz и распаковал его, например, в /opt или ~/ (если вы используете Linux или Mac OS) - person holle2de; 16.02.2020