我正在尝试从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
i还有其他解决方案吗?
您可以操纵自己的PATH
。通常的建议是使用JAVA_HOME
环境变量。将行添加到.bashrc
,以保持注销/重新启动的状态。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH