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

[bug]hmcl无法正确识别OpenJDK11 #3018

Closed
MCerror318 opened this issue May 2, 2024 · 5 comments
Closed

[bug]hmcl无法正确识别OpenJDK11 #3018

MCerror318 opened this issue May 2, 2024 · 5 comments
Labels

Comments

@MCerror318
Copy link

平台 | Platform

Windows 11 专业工作站版 版本23H2 安装日‎2024/‎1/‎26 操作系统版本22631.3296 体验Windows Feature Experience Pack 1000.22687.1000.0

问题描述 | Problem Description

使用位置位于C:\Program Files\Java的Microsoft Build of OpenJDK 21.0.3/17.0.11/11.0.23、Java SE 11 、Dragonwell
均无法正常识别并出现部分无法补全Java FX运行环境、无法打开启动器的情况。所有Java在其他启动器均能正常识别并启动游戏
经过查阅,我怀疑是因为hmcl调用注册表值寻找Java环境,而第三方发行版jdk不向SOFTWARE\JavaSoft写入Java环境信息

启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File

@MCerror318 MCerror318 added the bug label May 2, 2024
@MCerror318 MCerror318 changed the title hmcl无法正确识别OpenJDK11[Bug] [bug]hmcl无法正确识别OpenJDK11 May 2, 2024
@zkitefly
Copy link
Member

zkitefly commented May 2, 2024

#2988

试试这个分支怎么样

@MCerror318
Copy link
Author

MCerror318 commented May 2, 2024

#2988

试试这个分支怎么样
这倒不是这个问题,主要是启动器完全无法启动
在hmcl启动时HMCLauncher/HMCL/java.cpp中HMCL只调用注册表值来寻找JVM,而这个文件只包括四个注册表值,这使得如果一个jvm没有将有关信息写入注册表值,那HMCL很可能完全忽略其他目录包括JVM常见安装目录和可能的注册表值。
这个问题应该通过https://github.com/HMCL-dev/HMCL/pull/3007中提到的直接添加下载按钮后安装或
寻求增大jvm的寻找范围的方法,例如检查目录中是否含有名为bin、lib、legal的子目录或者对目录名进行检索,如目录名中含有包括Java、jdk、jvm等字符的目录进行检索(这很低效当然)或者在HMCL中嵌入JVM并在运行时释放到临时目录,就像官启一样:(

@MCerror318 MCerror318 reopened this May 2, 2024
@burningtnt
Copy link
Member

请使用 #3007 测试,如果没问题了,那就等着 3.5.7 的时候更新 HMCLauncher。在此之前,你可以通过 HMCL_JAVA_HOME 环境变量来临时解决该问题(或自己构建一个带有新 HMCLauncher 的官方版本)

@MCerror318 MCerror318 reopened this May 3, 2024
@MCerror318
Copy link
Author

请使用 #3007 测试,如果没问题了,那就等着 3.5.7 的时候更新 HMCLauncher。在此之前,你可以通过 HMCL_JAVA_HOME 环境变量来临时解决该问题(或自己构建一个带有新 HMCLauncher 的官方版本)

该版本完成了对第三方发行版Java21以下的支持,但是似乎无法识别Java22、23

@burningtnt
Copy link
Member

合并到 #3007

@burningtnt burningtnt closed this as not planned Won't fix, can't repro, duplicate, stale May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants