На этот вопрос уже есть ответ здесь:
Обычно я использую eclipse, но я сказал: «Давайте пофантазируем», и все произошло. Сначала я попытался использовать команду терминала javac
. Я получил
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-5-jdk
* openjdk-8-jdk-headless
* gcj-4.8-jdk
* gcj-4.9-jdk
* openjdk-9-jdk-headless
Try: sudo apt install (selected package)
. Я уже установил jre8 и jdk8 вручную с веб-сайта oracle (стандартная версия), и я уже делаю программы с eclipse. Затем я набрал java -version
и получил ответ
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)
, который я не устанавливал вручную. Затем я использовал locate -br ^ javac $
и получил два местоположения (неудивительно). Итак:
javac
только с путем, по которому я установил jdk вручную, но я хочу использовать команды без пути, просто напрямую. Возможно ли это (если да, то как? Вы можете выбрать Java по умолчанию, запустив update-alternatives
:
$ sudo update-alternatives --config java
There are 5 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-oracle/bin/java 1091 auto mode
1 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
* 3 /usr/lib/jvm/java-9-oracle/bin/java 1091 manual mode
4 /usr/lib/jvm/jdk1.8.0_91 100 manual mode
5 /usr/lib/jvm/jdk1.8.0_91/bin/java 100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Теперь, чтобы изменить версию, просто введите число
и нажмите , введите или, чтобы оставить значение по умолчанию, просто нажмите , введите . Сделайте то же самое с компилятором:
sudo update-alternatives --config javac
И сделайте свой выбор. Теперь можно также использовать лучшую команду update-java-alternatives
, рекомендованную Chai .
Предполагая, что у вас установлены эти java-пакеты :
java-9-oracle
java-8-openjdk-amd64
jdk1.8.0_91
И мне нужна версия java-9-oracle
, тогда я просто запущу:
sudo update-java-alternatives -s <java_name>
sudo update-java-alternatives -s java-9-oracle
Это создаст все необходимые ссылки на мою желаемую версию java.
Теперь, учитывая, что вы поместили java в другое место, мы будем использовать update-alternatives --install
, чтобы сообщить ему, где находится наша java.
sudo update-alternatives --install /usr/bin/java java /usr/share/java/jdk1.8.0_121/bin/java 1
А для компилятора javac
то же самое
sudo update-alternatives --install /usr/bin/javac javac /usr/share/java/jdk1.8.0_121/bin/javac 1
Источник:
man update-java-alternatives