Trtyr's Blog

Kali Linux下Java安装以及Java版本的切换

字数统计: 686阅读时长: 3 min
2024/02/05

最近在配置WSL的环境,全部重置了一遍,装Java的时候,打算装一个Java8和一个Java17。本篇文章就是来处理不同Java安装以及Java版本的切换

Java8 安装

下载Java8 JDK包

以Java8为例子,我们要安装JDK版本,链接如下

1
https://www.oracle.com/java/technologies/downloads/

下载jdk-8u401-linux-x64.tar.gz

建立Java8目录

我们建立Java的安装目录

1
sudo mkdir -p /usr/lib/java8

解压Java包至Java8目录

我是WSL,所以可以直接从主机复制到目录里

1
2
3
4
5
cd /usr/lib/java8
sudo tar xzvf jdk-8u401-linux-x64.tar_2.gz
rm jdk-8u401-linux-x64.tar_2.gz
cd jdk1.8.0_401
ls

添加环境变量

1
sudo vim /etc/profile

最末尾处添加

1
2
3
4
JAVA_HOME=/usr/lib/java8/jdk1.8.0_401
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

注册Java8

1
2
3
4
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java8/jdk1.8.0_401/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java8/jdk1.8.0_401/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/java8/jdk1.8.0_401/bin/javaws" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/java8/jdk1.8.0_401/bin/javaws" 1

检测

1
2
3
4
5
6
7
8
9
┌──(root㉿Desktop-Trtyr)-[~]
└─# java -version
java version "1.8.0_401"
Java(TM) SE Runtime Environment (build 1.8.0_401-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.401-b10, mixed mode)

┌──(root㉿Desktop-Trtyr)-[~]
└─# javac -version
javac 1.8.0_401

安装成功

Java17 安装

同样的方法,安装Java17,我是放在目录/usr/lib/java17/jdk-17.0.10下了,不过这次,不需要添加环境变量了

1
下载java17 JDK包 -> 建立目录/usr/lib/java17 -> 压缩至目录 -> 注册

注册如下

1
2
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java17/jdk-17.0.10/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java17/jdk-17.0.10/bin/javac" 1

切换版本

先看一下当前啥版本

1
2
3
4
5
┌──(root㉿Desktop-Trtyr)-[~]
└─# java -version
java version "1.8.0_401"
Java(TM) SE Runtime Environment (build 1.8.0_401-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.401-b10, mixed mode)

查看所有的Java版本

1
2
3
4
5
6
7
8
9
10
11
┌──(root㉿Desktop-Trtyr)-[~]
└─# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/java8/jdk1.8.0_401/bin/java 1 auto mode
1 /usr/lib/java17/jdk-17.0.10/bin/java 1 manual mode
* 2 /usr/lib/java8/jdk1.8.0_401/bin/java 1 manual mode

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

我们现在是用的2,输入1就可以切换到Java17。

如果切换后出现

1
-bash: /usr/bin/java: Permission denied

使用命令

1
chmod +x /usr/bin/java

然后是切换javac

1
2
3
4
5
6
7
8
9
10
11
┌──(root㉿Desktop-Trtyr)-[~]
└─# update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/java8/jdk1.8.0_401/bin/javac 1 auto mode
1 /usr/lib/java17/jdk-17.0.10/bin/javac 1 manual mode
2 /usr/lib/java8/jdk1.8.0_401/bin/javac 1 manual mode

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

一样。

CATALOG
  1. 1. Java8 安装
    1. 1.1. 下载Java8 JDK包
    2. 1.2. 建立Java8目录
    3. 1.3. 解压Java包至Java8目录
    4. 1.4. 添加环境变量
    5. 1.5. 注册Java8
    6. 1.6. 检测
  2. 2. Java17 安装
  3. 3. 切换版本