![]() |
1
Goooooos 46 天前 via Android
scoop
|
2
Ghostisbored OP @Goooooos 谢谢 我瞧瞧
|
3
yeqiling 46 天前 via Android
|
![]() |
4
qilme 46 天前 via Android
在 git for windows 或者 msys2 的 bash 环境里使用 sdkman ,这样可以在本机安装 jdk
|
5
dcsuibian 46 天前 ![]() 下载 8 、11 、17 、21 的 zip 版本的 jdk ,然后解压成对应的文件夹。JAVA_HOME 配的 21 的,因为主用 21 。
一般用不着切换,真要切换的话,在 IDEA 的 Project Structure 里面改一下就好了吧,而且我记得 IDEA 会解析 pom.xml 来选择 jdk 版本的 相比于 Python 和 Node.js ,我感觉 jdk 版本不太需要管理 |
6
HENQIGUAI 46 天前
|
![]() |
7
jasonkayzk 46 天前 ![]() |
![]() |
8
Foxkeh 46 天前
这个不是在 IDE 里面手动指定就可以了么
|
![]() |
9
Goooooos 46 天前 ![]() @jasonkayzk #7 兄弟,看标题,我看完 readme 都是说 macos 的
|
![]() |
10
Goooooos 46 天前
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 |
11
qinfengge 46 天前
无脑 scoop ,现在在用,一条命令安装,一条命令切换,爽死了
|
![]() |
12
chuunshii 46 天前
scoop
|
![]() |
13
guyeu 46 天前
以 Java 的向前兼容性,有什么场景需要切换呢?
|
![]() |
14
jasonkayzk 46 天前
@Goooooos #9 不好意思,我以为 jenv 是跨平台的,我的。
![]() |
15
Ghostisbored OP @guyeu 我一般开发其他语言 比如 ts 、python 我的方式是在 wsl 中 用对应的多版本管理工具 但是本身的编辑器是在 windos 这样很方便 但是 java 目前发现我上面说的那些问题 特别是在新建项目 导入一些开源项目的时候遇到很多不同的版本 我们是以 java8 为主可能要进行一些兼容上的修改
|
16
Ghostisbored OP 多谢大家的推荐 经过我的尝试我也使用 scoop 了 结合 @Goooooos 兄弟的命令 我在 2 条说明
如果出现类似 Couldn't find manifest for 'temurin8-jdk' 可以试试这个命令 :scoop bucket add java https://github.com/ScoopInstaller/Java 如果你以前已经安装了 jdk 因为设置了系统变量 但是 scoop 改变的是用户变量 导致切换到 scoop 版本 不能生效 可以删除以前的系统变量全部由 scoop 管理 |
![]() |
17
archean 46 天前
可以看下 mise 是不是可以做到?现在我遇到任何版本管理需求,都优先考虑它。
https://mise.jdx.dev/ |
18
Lockroach 46 天前
如果强调管理的话,感觉 docker 和 dev container 应该不错
|
19
lvlongxiang199 46 天前
|
20
Binwalker 46 天前
mise 秒杀所有
|
![]() |
21
chendy 46 天前
十二年老懒狗选择直接 idea 安装配置,反正离开 IDE 也不写 java
|
![]() |
22
wxyrrcj 46 天前
vfox +1
|
23
Ghostisbored OP @chendy 已经变得有强迫症了 不弄得舒舒服服得写代码都不爽
|
![]() |
24
Bamboodu 45 天前
其实没必要折腾,都是切换 jdk 在 idea 里面切,平时命令行运行 java 程序的可能性几乎为 0
|
25
Need4more 45 天前
1. idea 和 vscode 都带了 java 的安装器
2. scoop |
![]() |
27
xrxb 45 天前
万年 java8 不需要切换
|
![]() |
28
Belmode 45 天前
在开发机器上,从来不把 java 注册到环境变量中,直接在开发工具中配置一下不就好了
|
![]() |
30
inhzus 45 天前
scoop / mise
|
31
edsion1107 45 天前
用 mise 吧,生态感觉已经非常完善了。
vfox 总是大改,用起来不敢放心升级,而且 JavaToolchain 的自动发现也不支持: https://docs.gradle.org/current/userguide/toolchains.html#sec:auto_detection |
32
edsion1107 45 天前
还有一点,mise 的维护非常积极和及时,我之前反馈的 BUG ,睡一觉起来就发现已经修复并上线了。
|
33
laminux29 45 天前
你就不应该在一个 OS 里安装不同的 jdk 、Python 等等。
现在有虚拟化技术了,每个虚拟机,安装一个版本,这不难吧? |
34
CodeCodeStudy 45 天前
不需要啊,直接在脚本里设置环境变量 JAVA_HOME 和 PATH 就好了啊
|
35
Ghostisbored OP @laminux29 我一般用 nvm pyenv sdkman 是一样的 基本不会污染的 要维护一些老项目 新的项目会尝试新版本
|
36
Ghostisbored OP @Belmode 这可能是个办法 让 idea 自己去发现就好了
|
![]() |
37
dongdong12345 45 天前
@lvlongxiang199
一样,本地不需要配环境变量。都是用 idea 去管理 |
![]() |
38
uselesswater 34 天前 via Android
jdk 都用解压版本,没有什么管理的难度,想用哪个就切换就行了,一定要配置环境变量,那就配置主用的一个。其他的不用配置,其他的配置了也没用,他是根据在 path 里面的顺序从上到下读取,先读到那个,就是用哪个版本,实在需要再更换环境变量。在 ide 里面切换 jdk 版本,没有任何难度。你说的路径问题,对不起,没遇到过,切换的时候是不是没有正确切换。
|