Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] 无法识别从 sdkman 安装的未选中的 Java 版本 #3043

Open
vochant opened this issue May 12, 2024 · 16 comments · May be fixed by #3062
Open

[Enhancement] 无法识别从 sdkman 安装的未选中的 Java 版本 #3043

vochant opened this issue May 12, 2024 · 16 comments · May be fixed by #3062

Comments

@vochant
Copy link

vochant commented May 12, 2024

描述 |Description

  1. 在 Linux 系统安装 sdkman,不保证所有发行版都存在这个问题
  2. 使用 sdkman 安装多个 Java 版本
  3. 下载并打开 HMCL 启动器
  4. 在设置->全局游戏设置->Java路径中,对于 sdkman 安装的 Java 仅能识别当前选中的
@vochant vochant added the bug label May 12, 2024
@burningtnt
Copy link
Member

请确认其他未选中的 Java 版本真实存在于文件系统中

@vochant
Copy link
Author

vochant commented May 12, 2024

请确认其他未选中的 Java 版本真实存在于文件系统中

是的,所有Java版本均位于 <path_to_sdkman>/candidates/java/<version> 下,且手动选择可以正常使用。sdkman 只会为选中的版本添加 PATH。

@burningtnt
Copy link
Member

…… 那就只是因为 HMCL 没有扫这个路径。你可以为 HMCL 添加一个。

@vochant
Copy link
Author

vochant commented May 12, 2024

改成 feature 倒不要紧,不过能加到更新计划里面吗?

@zkitefly
Copy link
Member

#2988

这里的 添加 Java 能否满足需求

@burningtnt
Copy link
Member

#2988

这里的 添加 Java 能否满足需求

是可以解决的

@vochant vochant changed the title [Bug] 无法识别从 sdkman 安装的未选中的 Java 版本 [Enhancement] 无法识别从 sdkman 安装的未选中的 Java 版本 May 12, 2024
@vochant
Copy link
Author

vochant commented May 12, 2024

就是说把这个加到扫描路径里面?

@vochant
Copy link
Author

vochant commented May 12, 2024

希望就是说默认包含这个路径,毕竟 Linux 的 sdkman 应该还算有用的

@zkitefly
Copy link
Member

<path_to_sdkman>/candidates/java/ 的 <path_to_sdkman> 是固定的吗

@zkitefly
Copy link
Member

zkitefly commented May 12, 2024

就是说把这个加到扫描路径里面?

手动添加 Java 路径,不是扫描

@vochant
Copy link
Author

vochant commented May 12, 2024

<path_to_sdkman>/candidates/java/ 的 <path_to_sdkman> 是固定的吗

存在环境变量 SDKMAN_DIR,但是是在 *shrc 这种文件而不是 profile 中定义,通常是~/.sdkman。具体可以安装一个试试看。

@vochant
Copy link
Author

vochant commented May 12, 2024

和 Homebrew 的那个 issue 道理差不多,本来就是两个第三方包管理器。另外 sdkman 除了 Linux 和 macOS 还支持 MSYS、Cygwin 这些,确实有些复杂,也没必要全都支持。至于 Linux 大多数人也不会想着改安装路径,直接用 ~/.sdkman 已经能解决绝大多数的情况了。

@burningtnt
Copy link
Member

你可以大胆直接推个 PR。现在 HMCL 很多功能没有做只是因为没人写代码()
你只要敢做我们就敢合

@vochant
Copy link
Author

vochant commented May 13, 2024

问题是人家是用户,代码架构长什么样都不知道,甚至未必会Java()

有空可以去看看,但一时半会的真的搞不定,是否存在哪位愿意整合一下这些常见的包管理器的

@zkitefly
Copy link
Member

可以参考 #3035

@burningtnt
Copy link
Member

如果你给出足够的理由,那才能撬动我们把你这个 issue 拍到高优先级

@vochant vochant linked a pull request May 20, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants