
Когда я запускаю 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