如何让指定Conda虚拟环境使用JDK11,系统JAVA_HOME保留JDK17?
为单个Conda虚拟环境单独配置JDK 11(Windows系统)
- 先确认你的JDK 11实际安装路径,后续所有路径都要替换成你自己的真实路径。
激活目标Conda虚拟环境
打开CMD或PowerShell,执行:conda activate 你的虚拟环境名称配置激活环境时自动切换到JDK 11
找到你的虚拟环境安装目录下的Scripts文件夹(比如C:\Users\你的用户名\.conda\envs\你的虚拟环境名称\Scripts),在里面新建activate.d文件夹。
在activate.d里分别创建两个脚本文件:set_jdk11.bat(CMD适用),内容如下:set "JAVA_HOME=你的JDK11实际安装路径" set "Path=%JAVA_HOME%\bin;%Path%"set_jdk11.ps1(PowerShell适用),内容如下:$env:JAVA_HOME = "你的JDK11实际安装路径" $env:Path = "$($env:JAVA_HOME)\bin;" + $env:Path
配置退出环境时恢复全局JDK 17
同样在Scripts文件夹下新建deactivate.d文件夹,在里面创建两个恢复脚本:restore_jdk17.bat(CMD适用),内容如下:set "JAVA_HOME=C:\Program Files\Microsoft\jdk-17.0.5.8-hotspot\" set "Path=%JAVA_HOME%\bin;%Path%"restore_jdk17.ps1(PowerShell适用),内容如下:$env:JAVA_HOME = "C:\Program Files\Microsoft\jdk-17.0.5.8-hotspot\" $env:Path = "$($env:JAVA_HOME)\bin;" + $env:Path
验证效果
激活虚拟环境后,执行java -version和javac -version,确认输出为JDK 11的版本;退出虚拟环境后再次执行,应该回到JDK 17的版本。
内容的提问来源于stack exchange,提问作者Himu R
相关产品推荐
相关产品推荐

