兄弟们 现在 windows 下管理多版本的 jdk 最优解是什么呢

50 天前
 Ghostisbored
我先说下我自己尝试过的
1 、直接在 windows 下安装多个版本 但是这样会出现一个问题 高版本的 jdk 会覆盖低版本的一些环境变量
比如 idea 直接读到的是高版本 哪怕切换到低版本的路径也有一些问题
2 、wsl 方案 在 wsl 中使用 sdkman 安装多版本 idea 指向对应的 jdk 安装路径 ,但是这样有非常多的兼容问题 比如 windows 读取 liunx 的文件路径经常读取不到 maven 编译也有各种兼容问题
所以想问问大家的大家怎么管理的 谢谢
4016 次点击
所在节点    Java
38 条回复
Goooooos
50 天前
scoop
Ghostisbored
50 天前
@Goooooos 谢谢 我瞧瞧
yeqiling
50 天前
可以考虑使用本站大佬实现的 vfox ,挺好用的

https://github.com/version-fox/vfox
qilme
50 天前
在 git for windows 或者 msys2 的 bash 环境里使用 sdkman ,这样可以在本机安装 jdk
dcsuibian
50 天前
下载 8 、11 、17 、21 的 zip 版本的 jdk ,然后解压成对应的文件夹。JAVA_HOME 配的 21 的,因为主用 21 。
一般用不着切换,真要切换的话,在 IDEA 的 Project Structure 里面改一下就好了吧,而且我记得 IDEA 会解析 pom.xml 来选择 jdk 版本的
相比于 Python 和 Node.js ,我感觉 jdk 版本不太需要管理
HENQIGUAI
50 天前
我和 gpt 写了个脚本做切换
jasonkayzk
50 天前
Foxkeh
50 天前
这个不是在 IDE 里面手动指定就可以了么
Goooooos
50 天前
@jasonkayzk #7 兄弟,看标题,我看完 readme 都是说 macos 的
Goooooos
50 天前
OP 发帖子前几个小时,我刚问完 gemini ,给出的方案中,选了 scoop


以下命令在 powershell 中执行

1. Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
2. Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
3. scoop bucket add java
4. scoop search openjdk
5. scoop install openjdk17
6. scoop install openjdk21
7. scoop reset openjdk17
8. scoop reset openjdk21
qinfengge
50 天前
无脑 scoop ,现在在用,一条命令安装,一条命令切换,爽死了
chuunshii
50 天前
scoop
guyeu
50 天前
以 Java 的向前兼容性,有什么场景需要切换呢?
jasonkayzk
50 天前
@Goooooos #9 不好意思,我以为 jenv 是跨平台的,我的。
Ghostisbored
50 天前
@guyeu 我一般开发其他语言 比如 ts 、python 我的方式是在 wsl 中 用对应的多版本管理工具 但是本身的编辑器是在 windos 这样很方便 但是 java 目前发现我上面说的那些问题 特别是在新建项目 导入一些开源项目的时候遇到很多不同的版本 我们是以 java8 为主可能要进行一些兼容上的修改
Ghostisbored
50 天前
多谢大家的推荐 经过我的尝试我也使用 scoop 了 结合 @Goooooos 兄弟的命令 我在 2 条说明
如果出现类似 Couldn't find manifest for 'temurin8-jdk'
可以试试这个命令 :scoop bucket add java https://github.com/ScoopInstaller/Java
如果你以前已经安装了 jdk 因为设置了系统变量 但是 scoop 改变的是用户变量 导致切换到 scoop 版本 不能生效 可以删除以前的系统变量全部由 scoop 管理
archean
50 天前
可以看下 mise 是不是可以做到?现在我遇到任何版本管理需求,都优先考虑它。
https://mise.jdx.dev/
Lockroach
50 天前
如果强调管理的话,感觉 docker 和 dev container 应该不错
lvlongxiang199
50 天前
用 idea 下载/切换不同的 jdk

https://imgur.com/a/AEGwZmE
Binwalker
50 天前
mise 秒杀所有

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1145667

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX