【问题标题】:Why won't sdkman change my default java version?为什么 sdkman 不会更改我的默认 java 版本?
【发布时间】:2020-07-09 14:07:29
【问题描述】:

更新升级 sdkman,删除 .sdkman 并重新安装,卸载 java 包并重新安装后,此问题仍然存在。

me@myMachine myProject $ sdk default java 8.0.252.hs-adpt
Default java version set to 8.0.252.hs-adpt
me@myMachine myProject $ sdk default java
Default java version set to 11.0.7.hs-adpt

sdk current javajava -version 反映了更改,但在关闭并重新打开终端或打开不同的窗口或应用程序时恢复到 11.0.7。

【问题讨论】:

    标签: java sdkman


    【解决方案1】:

    我只是碰巧在 manjaro 上遇到这个错误 ..在更新 S.O. 之后,所以错误是 /usr/bin/java 现在指向更新时安装的默认 java,

    所以我刚刚删除了更新中安装的所有 java 版本,因为我只需要使用 sdkman

    sdk home java 8.0.232.hs-adpt

    有了这个,我可以看到我的案例的候选人在哪里:

    /home/xxxx/.sdkman/candidates/java/8.0.232.hs-adpt

    所以..删除所有java后:我运行java -version我发现没有java了。

    所以我强制更新 sdkman

    sdk 自我更新力

    然后安装后

    来源 "$HOME/.sdkman/bin/sdkman-init.sh"

    为了确保我跑了:

    ls -al /usr/bin/java

    lrwxrwxrwx 1 root root 37 May 16 2020 /usr/bin/java -> /usr/lib/jvm/default-runtime/bin/java

    现在它指向了 sdkman 应该去的地方:

    就是这样,现在我可以使用 sdkman 再次更改版本。

    sdk 使用 java 11.0.5.hs-adpt

    【讨论】:

    • 是的。这是在正确的道路上。就我而言,在开始使用 sdkman 之前,我已经通过 Homebrew 安装了 Java,因此我需要先使用 brew uninstall java 卸载,然后立即使用 java -versionwhich java 正确显示来自 sdkman 的 Java 版本.谢谢。
    最近更新 更多