Невозможно изменить JAVA_HOME

Невозможно изменить JAVA_HOME

Когда я запускаю java -version в своем терминале, я получаю:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Мне нужно изменить версию Java на 5. Я скачал jdk5, который находится здесь:

/home/user/tools/jdk1.5.0_22

Сначала я попытался добавить следующее в файл ~/.bashrc:

JAVA_HOME=/home/user/tools/jdk1.5.0_22
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH 

Затем я перезапустил свой терминал, но все еще получаю:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Затем я попытался JAVA_HOMEдобавить /etc/environment:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

JAVA_HOME=/home/user/tools/jdk1.5.0_22

После перезапуска терминала (закрытия и открытия нового) java по-прежнему указывает на jdk 7:

user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Но, похоже, JAVA_HOME установлен:

user@ubuntu:~$ echo $JAVA_HOME
/home/user/tools/jdk1.5.0_22

Как изменить используемую версию Java?

решение1

Первый исполняемый файл Java, найденный в переменной PATH, — это /usr/bin/java, который, вероятно, является ссылкой на , /etc/alternatives/javaкоторая, вероятно, является ссылкой на /usr/lib/jvm/java-7-oracle/jre/bin/java.

Вы можете попробовать настроить PATH так, чтобы новое местоположение Java было в начале. Вы сделали наоборот, добавив его в конец. Вам следовало попробовать следующее:

export PATH=/home/user/tools/jdk1.5.0_22/bin:$PATH

В сочетании с JAVA_HOME все должно быть в порядке, но есть и другой, более Debian-овский (или Ubuntu-овский) способ — использовать утилиту update-alternatives.

sudo update-alternatives --install /usr/bin/java java /home/user/tools/jdk1.5.0_22/bin/java 100
sudo update-alternatives --set java /home/user/tools/jdk1.5.0_22/bin/java

Но это необходимо сделать со всеми исполняемыми файлами, которые вы собираетесь использовать из этой установки.

Более подробную информацию см.https://askubuntu.com/q/159575/11831

решение2

Вы можете захотеть проверить whereisкоманду, а также альтернативы. Проверьте, есть ли символическая ссылка, /etc/alternatives/javaуказывающая на IcedTea, а не на желаемый исполняемый файл Java. Вы можете захотеть проверить команду, alternativesчтобы установить новую альтернативу и задать ее по желанию.

Редактировать: Ссылка на документацию RHEL в качестве примера: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_SOA_Platform/4.3/html/Getting_Started_Guide/appe-install_jdk_rhel.html

Связанный контент