如何在 React Native 和 Unity 中快速切换 JDK 版本
- 背景
- 步骤 1:下载两个版本的 JDK
- 步骤 2:编写快速切换脚本
- 2.1 切换到 JDK 11 的脚本 (`set-jdk11.bat`)
- 2.2 切换到 JDK 17 的脚本 (`set-jdk17.bat`)
- 步骤 3:将脚本路径添加到系统环境变量
- 验证和使用
- 结论
背景
在最近的项目开发中,我遇到了一个小问题。React Native 的最新开发版本推荐使用 JDK 17,而我的 Unity 项目使用的是长期支持的版本(2022.3),该版本 仅支持 JDK 11。在同一台电脑上同时满足两个版本的 JDK 成为了一个挑战。
为了解决这个问题,我创建了一个简单的脚本,使我能够在两个版本的 JDK 之间快速切换。以下是具体的步骤,帮助你在 React Native 和 Unity 的开发环境中灵活管理 JDK 版本。
步骤 1:下载两个版本的 JDK
在管理多版本 JDK 时,首先需要确保系统安装了所需的不同 JDK 版本:
- JDK 11 - 为 Unity 2022.3 配置。
- JDK 17 - 为 React Native 配置。
可以从 Oracle 或 OpenJDK 官方网站下载适合您的 JDK 版本,并按常规步骤进行安装。
步骤 2:编写快速切换脚本
为了方便在命令行中切换 JDK 版本,我们可以创建批处理文件来快速切换 JAVA_HOME
和 PATH
环境变量。以下是两个批处理文件的示例:
2.1 切换到 JDK 11 的脚本 (set-jdk11.bat
)
@echo off
:: 禁用批处理文件的命令回显,以避免在运行过程中显示每一行命令。这样执行时,命令行窗口不会显示每行命令的内容。
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-11.0.25.9-hotspot
:: 设置 JAVA_HOME 环境变量,指定 JDK 11 的安装路径。此路径需要根据您的实际 JDK 11 安装位置调整。
set PATH=%JAVA_HOME%\bin;%PATH%
:: 更新 PATH 环境变量,将 JAVA_HOME 的 bin 目录添加到 PATH 的最前面。这样,当前命令行会优先使用 JDK 11 目录下的 Java 可执行文件。
echo Switched to JDK 11
:: 输出提示信息,确认已经成功切换到 JDK 11。
2.2 切换到 JDK 17 的脚本 (set-jdk17.bat
)
@echo off
:: 禁用批处理文件的命令回显,以避免在运行过程中显示每一行命令。这样执行时,命令行窗口不会显示每行命令的内容。
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.12.7-hotspot
:: 设置 JAVA_HOME 环境变量,指定 JDK 17 的安装路径。此路径需要根据您的实际 JDK 17 安装位置调整。
set PATH=%JAVA_HOME%\bin;%PATH%
:: 更新 PATH 环境变量,将 JAVA_HOME 的 bin 目录添加到 PATH 的最前面。这样,当前命令行会优先使用 JDK 17 目录下的 Java 可执行文件。
echo Switched to JDK 17
:: 输出提示信息,确认已经成功切换到 JDK 17。
步骤 3:将脚本路径添加到系统环境变量
为了使这些脚本能够在任何命令行窗口中被调用,我们将脚本文件夹添加到系统 PATH
环境变量中:
- 将
set-jdk11.bat
和set-jdk17.bat
文件存放在固定的文件夹中,例如C:\Tools\jdk-scripts
。 - 打开 环境变量 设置窗口(右键点击“此电脑” > “属性” > “高级系统设置” > “环境变量”)。
- 找到系统变量中的
Path
,点击 编辑,添加文件夹路径C:\Tools\jdk-scripts
。 - 点击 确定 保存更改。
验证和使用
完成以上设置后,在命令行中可以通过以下命令来切换 JDK 版本:
-
切换到 JDK 11:
set-jdk11
-
切换到 JDK 17:
set-jdk1
运行切换命令后,使用以下命令检查是否切换成功:
java -version
结论
通过自定义批处理脚本并将其路径添加到系统 PATH
中,现在可以在不同开发环境(React Native 和 Unity)中无缝切换 JDK 版本。这种方法使得在开发过程中无需手动修改环境变量,极大提升了工作效率。