问题出现场景
- 之前做的项目,由于版本兼容问题,在JDK选择的时候选择了 1.7 的版本
- 这次换了一个新项目,很多开发环境都发生了变化,其中包括 JDK 版本由 1.7 转为 1.8
- 但是,电脑上仍有一些项目运行需要 1.7 版本,切换高版本反而会报错
- 因此考虑如何在一台电脑上多版本 JDK 共存且可以自由选择
解决思路
- 之前配置 JDK 环境变量的时候,classpath 和 path 的路径都是使用%JAVA_HOME%来替代,真正的 JDK 路径在 JAVA_HOME 这个变量名之下
- 因此考虑新建 JAVA_HOME7,JAVA_HOME8,JAVA_HOME9 等其他不同 JDK 版本的路径,JAVA_HOME 作为选择器引用这些路径。
- 而classpath 和 path 环境变量中引用 JAVA_HOME 的路径。
- 这样,当需要修改JDK版本的时候,只需要改变 JAVA_HOME 中路径的地址为 %JAVA_HOME?% 的格式即可
- 也就是说找一个中转路径,作为中介
实现步骤
- 电脑上已安装完多版本JDK
- 打开环境变量配置,设置如下
-
其中 JAVA_HOME7、8等为 JDK 的具体的路径,JAVA_HOME 为 JAVA_HOME7、8的路径。
CLASSPATH的路径为固定写法:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\dt.jar(注意前面的 . 和 ; ) -
在PATH环境变量的最前面添加以下内容(即引用 JAVA_HOME 的路径,相当于间接调用了你想要的用的 JDK 的路径)
添加的内容(固定)为:%JAVA_HOME%\bin
-
测试
- 打开控制面板,输入 java -version 查看当前所使用的 JDK 版本
- 如果显示版本为 JAVA_HOME 路径中指定 JDK 的版本,则证明成功