Я пытаюсь установить java-13 на Ubuntu 18.04 после этого руководства .
Я уже устанавливал java-11 раньше, что мешает этим командам вступать в силу
sudo mv jdk-13 /opt/
sudo tee /etc/profile.d/jdk13.sh <<EOF
export JAVA_HOME=/opt/jdk-13
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile.d/jdk13.sh
тип java
команда дает это
java is hashed (/usr/bin/java)
Я думаю, это связано с некоторыми настройками в некоторых конфигурационных файлах переменных среды, например. $ HOME / .profile.
Как узнать, какой файл перезаписывает мой /etc/profile.d/jdk13.sh
?
Я также попробовал эту команду
export PATH=\$JAVA_HOME/bin:\$PATH
и получил
java -version
Command 'java' is available in '/usr/bin/java'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
Вы «уже установили java-11 раньше»… используя ту же / аналогичную процедуру, которая включает создание сценария оболочки в /etc/profile.d
? И он все еще установлен? Взгляните на вывод типа java
- он должен сказать вам, есть ли в двоичных файлах вроде java
(все еще?) находятся в другом каталоге ("первом").
Если вы хотите использовать разные версии параллельно, посмотрите man update-alternatives
(см. https : //askubuntu.com/a/233192/525098 ), в котором объясняется, как аккуратно переключаться между версиями одной и той же программы (программ). Это может включать вспомогательные сценарии, которые изменяют PATH, или вы можете использовать скрипт, который фактически устанавливает среду переменные, основанные на расположении двоичного файла java
.