Я установил три версии Java. Я попытался установить опцию по умолчанию с помощью update-alternatives
. Тем не менее, это не изменило значение по умолчанию. Чего мне не хватает? Я знаю, что один из JRE, а два других из JDK, но я думаю, что все они должны работать. Я использую Ubuntu 20.04.
$ echo 1 | sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
------------------------------------------------------------
Selection Path Priority Status
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/jdk-14.0.1/bin/java 200 manual mode
* 3 /usr/lib/jvm/jre1.8.0_251/bin/java 100 manual mode
Press enter to keep the current choice[*], or type selection number: update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode
Я проверил, была ли версия jre1.8 в порядке:
$ ./jre1.8.0_251/bin/java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Тем не менее, по умолчанию все равно 14 от SDK.
$ java -version
java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
Я думаю из-за приоритета пути java14
в Переменная среды $ PATH
, что на самом деле выполняется, это /usr/lib/jvm/jdk-14.0.1/bin/java
, а не / usr / bin / java
. Поэтому альтернативы не будут работать из-за этого.
Обратите внимание, что / usr / bin / java
является просто символической ссылкой (т.е.