如何指定Nativescript使用的JDK版本且不修改系统全局配置
解决方案
- 方案1:使用项目本地Gradle配置(永久生效,不影响全局)
在NativeScript项目根目录新建名为gradle-local.properties的文件,该文件不会被NS自动生成逻辑覆盖,写入以下内容:
org.gradle.java.home="C:\Program Files\Amazon Corretto\jdk1.8.0_302"
Gradle运行时会优先读取该本地配置文件的JDK路径,完全不影响系统全局的JDK 17默认配置。
- 方案2:临时修改终端环境变量(灵活适配单次运行)
每次运行NS相关命令前,在当前终端窗口临时设置JAVA_HOME为JDK 8的路径,配置仅对当前终端会话生效:- CMD环境执行:
set JAVA_HOME=C:\Program Files\Amazon Corretto\jdk1.8.0_302 - PowerShell环境执行:
$env:JAVA_HOME="C:\Program Files\Amazon Corretto\jdk1.8.0_302"
设置完成后再执行ns run android等构建命令即可。如果嫌每次输入麻烦,可以把两行命令封装成批处理脚本,每次运行脚本启动NS项目即可。
- CMD环境执行:
- 方案3:Android Studio项目级JDK配置(适用于通过AS打开安卓子项目开发的场景)
打开NS项目下的android子目录,在Android Studio的设置中依次进入「Build, Execution, Deployment > Build Tools > Gradle」,在「Gradle JDK」下拉框选中本地安装的JDK 8,该配置仅对当前项目生效,不会修改全局设置。
内容的提问来源于stack exchange,提问作者f.khantsis
相关产品推荐
相关产品推荐

