【java开发环境】多版本jdk 自由切换window和linux

发布于:2024-07-01 ⋅ 阅读:(15) ⋅ 点赞:(0)

win10

一、准备
各种版本的jdk,按自己的需要下载。

我这里是需要jdk17和jdk8。

1、jdk17
下载:Java Downloads | Oracle,选择exe后缀文件

2、jdk8下
载:Java Downloads | Oracle,选择exe后缀文件

二、详细步骤
1、安装jdk
很简单,双击exe文件后全部默认下一步即可,安装的时候记住安装路径。

如果想卸载,按照正常应用的卸载方式即可。

2、设置环境变量
2.1 删除jdk安装时自动添加的环境变量

操作位置:系统—关于—高级系统设置—环境变量—系统变量

删除Path变量中类似于:C:\Program Files\Common Files\Oracle\Java\javapath 的变量值,不一定一模一样,但格式大同小异

2.2 添加Path变量值

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

2.3 添加CLASSPATH(一定要完全复制哦,不要忽略一开始的 .;%)

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

2.4 添加JAVA_HOME17

变量名:JAVA_HOME17

变量值:C:\Program Files\Java\jdk-17

变量值就是之前让记住的jdk安装路径,一般都默认安装在C:\Program Files\Java下。

2.5 设置JAVA_HOME

变量名:JAVA_HOME

变量值:%JAVA_HOME17%

最后要点击确定保存配置,到这里java17的环境就配置好了,其他版本的jdk配置步骤和这个相同。

Path变量除了要删除每次安装jdk产生的变量值之外,不用重复添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,CLASSPATH和JAVA_HOME17也只用配置一次,后面无需修改。

如果要配置java8的话,只需要新增变量名为JAVA_HOME8的变量,并将JAVA_HOME变量的变量值修改为%JAVA_HOME8%即可。

三、测试
1、如图,我这里已经同时安装好了jdk17和jdk8,并配置好了环境变量。

2、此时已经切换成java17,在命令行查看Java版本。

java -version

3、切换为java8

4、重新打开命令行,查看java版本。

每次切换,一定要关闭并重新打开命令行才可成功,每次改完环境变量后,要点击确定保存生效。

可能出错误 1

场景描述:我之前用的JDK是1.8版本的,但是项目变化后需要使用17版本的,我随后加下载并安装了17版本的,环境变量配置也更改好了,命令行输入:java -version后发现出来的还是1.8版本
我的问题导致的原因:
Oracle在使用过JDK后就会将JDK的配置写到配置文件中,
若是Oracle的环境变量配置在JDK的变量前时将会被Oracle的配置信息加载覆盖掉
因此,解决办法就是
将Oracle的环境变量放到JDK环境变量之后即可~

修改后的:

Linux

1.下载页面 Java Downloads | Oracle
2.安装jdk 
      说明:

                以下目录均为本次安装目录 具体目录需要以实际为主

                npm安装会自动安装在/usr/java

                tar -zxvf 可以指定安装目录

      2.1 使用 npm命令安装jdk8
         rpm -ivh  jdk-8u411-linux-x64.rpm

      2.2 切换到cd  /usr/java路径下查看集体文件名

        [root@i rpm]# cd /usr/java
        [root@i java]# ll
        total 0
        lrwxrwxrwx 1 root root 16 Jul  1 15:06 default -> /usr/java/latest
        lrwxrwxrwx 1 root root 30 Jul  1 15:06 jdk-17 -> /usr/lib/jvm/jdk-17-oracle-x64
        lrwxrwxrwx 1 root root 31 Jul  1 15:26 jdk1.8.0-x64 -> /usr/lib/jvm/jdk-1.8-oracle-x64
        lrwxrwxrwx 1 root root 30 Jul  1 15:26 latest -> /usr/lib/jvm/jdk-17-oracle-x64
      2.3 将JDK8使用软连接并交由alternatives管理
         alternatives --install /usr/bin/java java /usr/java/jdk1.8.0-x64/bin/java 3
   解释:3: 表示该程序的优先级,当有多个可选项时,数字越大,优先级越高
      2.4 使用 npm命令安装jdk17
          rpm -ivh  jdk-17_linux-x64_bin.rpm
      2.5 将JDK17使用软连接并交由alternatives管理
        alternatives --install /usr/bin/java java /usr/java/jdk-17/bin/java 4
      2.6 使用alternatives命令切换jdk
        alternatives --config java
3.使用java命令验证当前jdk的版本
java -version
4.使用alternatives --remove删除某版本
alternatives --remove java /usr/java/jdk1.8.0-x64/bin/java
5.tar -xvzf 安装基本操作基本一致不在做详细说明
     5.1 主要安装命令目录有所改变如下命令
 tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/jdk 
6.alternatives的一些命令介绍
# 1. --install 新注册一个group到generic name中
#alternatives --install <link> <name> <path> <priority>
# 2. --display name 显示某个通用名字中包含的组以及各个组的优先级、主从链接
# 3. --list 列出alternative系统中所有的组
# 4. --config name 交互式更改某个通用名字中的默认组;也可以
# 5. --set name path 直接设置默认组(这里的path是组中的master link的实际路径)
# 6. --auto name 把name的模式设为自动
# 7. --remove name path 删除某个组 name + path 可以唯一标识一个组

在Linux操作系统中,很多时候我们需要安装和卸载不同的软件包,其中JDK(Java Development Kit)是一个非常重要的软件包,它包含了运行Java程序所需的一切工具和库。在Linux系统中,我们通常会使用RPM(Red Hat Package Manager)来安装和卸载软件包。

在卸载JDK之前,我们首先需要确定JDK的安装路径。通常情况下,JDK默认安装在“/usr/java/”目录下。我们可以通过以下命令来确认JDK的安装路径:

```
ls /usr/java/
```

如果JDK安装在其他路径下,我们可以通过在终端中输入“java -version”命令来获取JDK的安装路径。然后,我们可以使用以下命令来卸载JDK软件包:

```
rpm -qa | grep jdk
```

这个命令将列出已安装在系统中的所有与JDK相关的软件包。然后,我们可以使用以下命令来卸载JDK软件包:

```
rpm -e
```

其中“”是我们在上一步中列出的JDK软件包的名称。通过执行这个命令,我们可以将JDK软件包从系统中完全卸载掉。

在卸载JDK软件包之后,我们还可以通过以下命令来验证JDK是否已被成功卸载:

```
java -version
```

如果系统显示类似“command not found”等信息,说明JDK已被成功卸载。另外,我们还可以通过以下命令来查看系统中是否还存在任何与JDK相关的文件:

```
find / -name "*jdk*"
```

如果在系统中依然存在与JDK相关的文件,我们可以手动删除这些文件以完成卸载操作。

总的来说,使用RPM来卸载JDK软件包是一种简单有效的方法。我们只需要通过几条简单的命令就可以将JDK从系统中完全移除。这样不仅能够释放系统资源,还能够确保系统的干净与稳定。希望以上内容对你有所帮助