gpt4 book ai didi

java - 命令 update-alternatives --config java 什么都不改变

转载 作者:行者123 更新时间:2023-12-05 06:14:22 26 4
gpt4 key购买 nike

我想使用命令 update-alternatives --config java 切换我的 java 版本,但之后我没有看到任何变化。我正在使用该命令并得到以下输出:

$ sudo update-alternatives --config java
There are 2 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/java-8-openjdk-amd64/jre/bin/java 1081 manual mode

Press <enter> to keep the current choice[*], or type selection number: 1

在此之前,我使用过 Java 8 并在/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 上设置了选择。然后我切换,运行 java -version 并拥有与原来相同的版本 - Java 8:

$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment Corretto-8.212.04.1 (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM Corretto-8.212.04.1 (build 25.212-b04, mixed mode)

我更改了 JAVA_HOME 和 PATH 以使用 Java 11,但它仍然没有任何变化:

$ echo $PATH
/home/user9679/.sdkman/candidates/java/current/bin:/home/user9679/.sdkman/candidates/gradle
/current/bin:/home/user9679/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-1.11.0-openjdk-amd64/

$ echo $JAVA_HOME
/usr/lib/jvm/java-1.11.0-openjdk-amd64/

最佳答案

可能您对系统进行了更改,导致 update-alternatives 无法正常工作。


预期行为

据我所知,在典型安装中,java 命令是 /usr/bin/java 中的符号链接(symbolic link)。您必须从 $PATH 变量中排除“真正的”java 路径。如果您的计算机在不同的目录中使用 java 命令,则 update-alternatives 将不起作用。

-- location of the java command
$ type -p java
/usr/bin/java

-- real location of the java command
$ readlink -f /usr/bin/java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java

如果 type -p java 命令得到不同的结果,则必须检查 java 命令的位置是否由 中的某个文件夹确定>$PATH 并删除该部分。


注意:您可以定义 JAVA_HOME 变量 processing the /usr/bin/java symbolic link .

-- real location of the JAVA_PATH variable
$ dirname /usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-11-openjdk-amd64/bin/

$ dirname /usr/lib/jvm/java-11-openjdk-amd64/bin/
/usr/lib/jvm/java-11-openjdk-amd64/

-- setting the JAVA_HOME variable
$ export JAVA_HOME=`type -p java|xargs readlink -f|xargs dirname|xargs dirname`

关于java - 命令 update-alternatives --config java 什么都不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62914051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com