ОС: UBUNTU 18.04
Я установил Oracle Java 8 ранее. Но решенный для переключения для открытия JDK 11. это успешно установлено. Java - версия
Среда выполнения OpenJDK версии "11.0.2" 2019-01-15 openjdk (создают 11.0.2+9-Ubuntu-3ubuntu118.04.3), OpenJDK 64-разрядный Сервер VM (сборка 11.0.2+9-Ubuntu-3ubuntu118.04.3, смешанный режим, совместно используя)
Затем я установил JAVA_HOME sudo нано/etc/environment изменения Файла: СОЕДИНИТЕ КАНАЛОМ = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/$ JAVA_HOME = "/usr/lib/jvm/java-11-openjdk-amd64 /"
Затем выполняемый: источник/etc/environment
$JAVA_HOME эха
/usr/lib/jvm/java-11-openjdk-amd64/
Но момент я выхожу из терминала и затем запускаю терминал снова: Я получаю этот вывод:
▶ $JAVA_HOME эха/usr/lib/jvm/java-8-oracle
то, которое Вы видите, не то, что ожидается. Выручите меня
Ответы и некоторые комментарии посвящены тому, как установить JAVA_HOME
в версию 11, но вопрос частично в том, «где устанавливается версия 8?». Чтобы ответить на этот вопрос, смотрите:
Используйте эту команду:
[ 110] Это то, что возвращает моя система. Ваш, скорее всего, будет другим. Короче говоря, виновником является /etc/profile.d/jdk.sh
:
$ cat /etc/profile.d/jdk.sh
setenv J2SDKDIR /usr/lib/jvm/java-8-oracle
setenv J2REDIR /usr/lib/jvm/java-8-oracle/jre
setenv PATH ${PATH}:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
setenv JAVA_HOME /usr/lib/jvm/java-8-oracle
setenv DERBY_HOME /usr/lib/jvm/java-8-oracle/db
Вы, вероятно, догадываетесь, /etc/profile.d/jdk.csh
тоже нужно изменить. На самом деле он содержит то же содержимое, что и /etc/profile.d/jdk.sh
Есть лучший способ, чем построчно просматривать файлы и изменять 8
на 11
.
Самый простой способ - использовать установщик Java. Из этого спросите Ubuntu Q & A : Установка JDK 7 по умолчанию
Чтобы получить список установленных платформ Java, выполните следующую команду из терминал:
blockquote>sudo update-alternatives --config java
Это даст вам вывод списка, подобный следующему:
blockquote>There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-oracle/jre/bin/java 1070 auto mode 1 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode * 2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1069 manual mode Press enter to keep the current choice[*], or type selection number:
Попробуйте прочитать эти ответы в ссылке. Они касаются постоянных изменений переменных среды. Я думаю, что происходит после того, как вы закрываете терминал, они возвращаются. Вот ссылка: Сделать изменения переменной среды сохраняются
Простейшим местом для установки этого является .bashrc, который можно быстро сделать следующим образом:
echo JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/ >> .bashrc
Это сделает последнюю строку прочитанной при инициализации bash и должна что JAVA_HOME правильно установлен. Если вам нужно сделать что-то более сложное, вам нужно немного прочитать о том, как инициализируется терминал. Я бы порекомендовал вам начать с google-ing bashrc.