在一台物理机上安装不同版本的JDK(包含classpath相关问题)

         当我们需要在一台物理机上使用不同版本的JDK时,同时安装和自由切换不同版本的JDK就成了我们需要掌握的技能。

一:安装的具体步骤

1:下载所需要不同版本的JDK,放置于物理机。(如:D:\JAVA\JDK)

2:将不同版本的JDK分别命名,并放置于D:\JAVA\JDK

  1. jdk_1.8: D:\JAVA\JDK\jdk_1.8
  2. jdk_1.11  D:\JAVA\JDK\jdk_1.11

注意:这里笔者建议需要统一JDK的类型,既jdk8和jdk11均使用解压版,若使用安装版则需要将C:\Windows目录或 C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件,因为这里涉及到执行优先级的问题,(C:\Windows\System32目录优先级高于JAVA_HOME配置目录,存在可能导致JDK版本切换不生效的问题。)

3:配置环境变量

  1. jdk_1.8  

配置JAVA_HOME变量:变量名:JAVA_HOME8  变量值:\JAVA\JDK\jdk_1.8

配置path变量: \JAVA\JDK\jdk_1.8\bin

(2)jdk_1.11

配置JAVA_HOME变量:变量名:JAVA_HOME11  变量值:\JAVA\JDK\jdk_1.11

配置path变量: \JAVA\JDK\jdk_1.11\bin

(4)最重要的一步(事关自由切换JDK版本):由于环境变量执行的优先级是从上到下(从左到右、从前到后),因此在JAVA_HOME变量设置时:设置一个变量名为:JAVA_HOME  变量值为:%JAVA_HOME%  且放置于JAVA_HOME8和JAVA_HOME11之前。

若需要执行JDK8,则在JAVA_HOME的变量值更改为“%JAVA_HOME8”

若需要执行JDK11,则在JAVA_HOME的变量值更改为“%JAVA_HOME11”

二:关于配置classpath的问题

classpath翻译过来就是类路径,是Java环境变量配置中要设置的一个环境变量值,就是.class文件的路径,表示JVM需要去哪里寻找要运行的class文件当我们配置classpath后,系统会根据我们所配置的classpath加载类不少同学在搜索配置JDK环境变量时,大部分博文都要求要配置classpath,但也有部分同学表示自己没有配置classpath,仅配置了环境变量中的JAVE_HOME和path变量,程序依然正常执行。

对于这个问题笔者查阅了官方文档,得到的答案是:在JDK1.5之后,classpath并不是必须的配置;在JDK1.5之前,因为无法在当前目录下加载类(既找不到 JDK目录下lib文件夹中的.jar文件),所以需要通过配置classpath。但JDK1.5之后,JRE能自动搜索目录下的类文件,并且加载dt.jar和tool.jar的类。但若你使用的是JDK1.5之前的版本,需要毫不犹豫地配置classpath。

Classpath相关解释:

配置内容:.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

  1. . 表示当前路径。

(2)JAVA_HOME:代表JDK文件的路径。

(3);表示有多个可执行的class文件目录,用;隔开。

(4)dt.jar是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。

(5)tools.jar是工具类库

猜你喜欢

转载自blog.csdn.net/weixin_49769267/article/details/131566978