大家好,我是老 J
最近帮客户在做一个新的项目,客户要求新项目使用jdk17,毕竟现在jdk已经更新到jdk21了,再使用jdk8有点说不过去了,"Java8新特性"也成为过去时。。但是我平时还需要维护老项目,有的项目使用的是jdk8,还有的项目使用的是jdk11,所以平时开发的时候就需要频繁的切换jdk版本,非常麻烦!
那么有没有办法能够快速切换jdk环境呢?接下来我分享一个快速切换jdk环境的方法,顺便介绍一下怎么快速切换nodejs环境(nodejs有现成的版本管理工具,比较简单)。
jdk版本切换
首先需要我们的电脑有多个jdk版本(这里以Windows版本为例),jdk下载网址:
下载完成之后双击安装(一直下一步即可,这里略过)
完成安装之后我的电脑上就有了三个jdk版本:jdk(jdk8)、jdk11、jdk17
正常这个时候如果我们需要切换jdk版本需要修改系统的环境变量。步骤如下:
第一步,点击此电脑->属性->高级系统设置->环境变量,添加JAVA_HOME变量为jdk的路径如下图。
第二步,点击编辑PATH变量,添加 %JAVA_HOME%\bin 并且将其移动到最上方,注意这里一定要移动到最上方,因为jdk8向高版本切换之后会自动生成一个环境变量(不可见),这样导致我们切换回jdk8之后系统默认读取的版本还是高版本的,把 %JAVA_HOME%\bin移动到最上方之后每次系统读取就会优先读取到它!如下图。
如果我们需要切换jdk的时候只需要修改JAVA_HOME的值即可,如下图。
接下来重点来了,怎么把这一套流程变得更加优雅呢?写脚本!
写一个自动化切换jdk版本的脚本。这个脚本需要输入jdk的版本号,然后自动切换jdk版本,好了,需求有了,我的脚本是这么写的,大家可以直接复制:
bash
@echo off
cls
echo ------------------------------------------------
echo 当前Java版本为:
java -version
echo ------------------------------------------------
echo 输入要使用的java版本对应的选项:
echo 选项 含义
echo 8 切换环境为JDK8
echo 11 切换环境为JDK11
echo 17 切换环境为JDK17
echo ------------------------------------------------
set /P choose=请输入选择:
IF "%choose%"=="8" (
setx JAVA_HOME "D:\java\jdk" /M
echo 已经修改为JDK8
) ELSE IF "%choose%"=="11" (
setx JAVA_HOME "D:\java\jdk11" /M
echo 已经修改为JDK11
) ELSE IF "%choose%"=="17" (
setx JAVA_HOME "D:\java\jdk17" /M
echo 已经修改为JDK17
) ELSE (
echo 输入错误!
)
pause
这个脚本的首先输出当前系统的jdk版本,然后根据输入的版本号来匹配需要切换的版本,大家可以替换为自己的系统jdk路径,其中 /M 为修改系统环境变量。将这文本复制一个TXT文件中,然后修改后缀为 .bat,如图。
最后我们来测试一下脚本的功能:
首先查看系统当前的jdk版本。
然后右键脚本->管理员方式运行。
输入版本号11点击回车我们可以看到jdk已经切换成功了!
验证一下:
至此,jdk一键切换就完成了!
nodejs版本切换
好了,介绍完jdk版本切换,nodejs怎么优雅的切换呢?这个就简单多了,因为nodejs有版本管理工具------nvm(Node Version Manager),接下来介绍nvm怎么安装使用。
nvm的下载地址如下:
下载完成之后点击安装到合适的位置,一直点击next完成安装即可。
那么怎么切换nodejs版本呢?非常简单,下面是一些简单的指令:
xml
安装特定版本的Node.js:nvm install <version>
切换到特定版本的Node.js:nvm use <version>
列出所有已安装的Node.js版本:nvm ls
例如我可以查看电脑现在的nodejs版本并切换。如下图。
我还可以安装别的版本并切换,如图。
怎么样,是不是比jdk切换简单多了!
更多文章干货,推荐公众号【程序员老J】