如何在不使用 sudo 的情况下在 ubuntu 上将 java 的版本从 8 更改为 11

how to change the version of java from 8 to 11 on ubuntu without sudo

我正在尝试从 java 版本 java-8-openjdk-amd6 切换到 java-11-openjdk-amd6 而不使用 sudo,因为这是不允许的。

我尝试了以下方法:

update-alternatives --config java

  Selection    Path                                          Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/javac   1101      auto mode
  1            /usr/bin/ecj                                   143       manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/javac   1101      manual mode
  3            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac    1071      manual mode
* 4            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac    1081      manual mode
  5            /usr/lib/jvm/java-9-openjdk-amd64/bin/javac    1091      manual mode

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

选择号码后出现以下错误:

update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: error: error creating symbolic link '/etc/alternatives/javac.dpkg-tmp': Permission denied

我有其他解决方案吗?

您可以操纵自己的 PATH。通常的建议是 JAVA_HOME 环境变量。将行添加到您的 .bashrc 以保持注销/重启。

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH