1.下载Sun版JDK压缩包(.tar.gz),选择其中的64位Linux版本。
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
注意,不要下这个jdk-17_linux-aarch64_bin.tar.gz
,不然会报错。
$java -version
bash: /usr/bin/java:无法执行二进制文件: 可执行文件格式错误
2.将其解压缩:
#解压
sudo tar -zxvf ~/Downloads/jdk-17_linux-x64_bin.tar.gz -C /usr/lib
#改名
cd /usr/lib
sudo mv jdk-17.0.2 jdk17
其中参数-C后面的路径是解压缩的目标路径。
3.根据官网的说法:
Starting with version 8u40, the JDK installation is integrated with the alternatives framework and after installation, the alternatives framework is updated to reflect the binaries from the recently installed JDK. Java commands such as java, javac, javadoc, and javap can be invoked from the command line.
所以:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jdk17/bin/java 1000
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jdk17/bin/javac 1000
现在可以验证一下JDK安装是否已成功
java -version
update-alternatives 命令用于处理linux系统中软件版本的切换,在各个linux发行版中均提供了该命令,命令参数略有区别,但大致是一样的。
这里,我们把这个命令先命一个别名,缩短一点。
编辑
vi ~/.bashrc
添加一行
# some more ls aliases
alias ualtern='update-alternatives'
编译
source ~/.bashrc
注册软件
sudo ualtern --install /usr/bin/java java /usr/lib/jdk17/bin/java 1000
sudo ualtern --install /usr/bin/javac javac /usr/lib/jdk17/bin/javac 1000
查看已注册列表ualtern --display java
java - 自动模式
最佳链接版本为 /usr/lib/jdk17/bin/java
链接目前指向 /usr/lib/jdk17/bin/java
链接 java 指向 /usr/bin/java
/usr/lib/jdk17/bin/java - 优先级 1000
清理掉原来配置的java命令配置
# ualtern --remove java /opt/jdk1.8.0_91/bin/java
# ualtern --remove java /opt/jdk1.8.0_111/bin/java
Deepin里可以直接使用sudo ualtern--remove-all java
全部清除
linux软件版本管理命令update-alternatives使用详解