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

重构 HMCLauncher #3007

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

burningtnt
Copy link
Member

@burningtnt burningtnt commented Apr 22, 2024

  • 优先选择 Java 11+
  • 判断 Java 8 - 10 是否带 JavaFX,若不带则排除:太复杂了,并且在已支持优先选择 Java 11+ 后,这项可以通过直接下载安装 Java 11+ 运行环境即可解决
  • 支持更多 Java 扫描
    • HMCL_JAVA_HOME、JAVA_HOME
    • 注册表
    • PATH
    • Program Files

@burningtnt burningtnt marked this pull request as draft April 22, 2024 15:17
HMCLauncher/HMCL/java.cpp Outdated Show resolved Hide resolved
@hejiehao
Copy link
Contributor

为什么不从注册表取 Program Files 路径?

@burningtnt
Copy link
Member Author

为什么不从注册表取 Program Files 路径?

是这样做的。见 MySHGetFolderPath(CSIDL_PROGRAM_FILES, root)

@burningtnt

This comment was marked as outdated.

…nd HKey. Support giving priority to Java above 11.
@burningtnt burningtnt marked this pull request as ready for review April 26, 2024 14:58
@burningtnt
Copy link
Member Author

本 PR 计划中的功能已全部完成

@burningtnt burningtnt requested a review from Glavo April 27, 2024 07:31
@zkitefly
Copy link
Member

有一个问题,如果设备上有 x86 32位的 Java,hmclauncher会如何选择

@burningtnt
Copy link
Member Author

有一个问题,如果设备上有 x86 32位的 Java,hmclauncher会如何选择

HMCLauncher 暂时还不会判断 Java 的位数

@zkitefly
Copy link
Member

Java的选择顺序是怎么样的
同一个检测方式,获取到了一样版本的Java,是如何选择的(

@burningtnt
Copy link
Member Author

Java的选择顺序是怎么样的
同一个检测方式,获取到了一样版本的Java,是如何选择的(

会优先选择 Java 11+,暂不支持关于位数或 JFX 的选择

@MCerror318
Copy link

这个版本似乎无法找到有效的JAVA22、23,这是否为正常表现?

@zkitefly
Copy link
Member

zkitefly commented May 3, 2024

这个版本似乎无法找到有效的JAVA22、23,这是否为正常表现?

你的 Java 22 23 安装在哪楼呢

@MCerror318
Copy link

这个版本似乎无法找到有效的JAVA22、23,这是否为正常表现?

你的 Java 22 23 安装在哪楼呢

默认的Java目录,安装的大部分第三方发行版都不可用。而甲骨文的build21可以识别路径,但是版本号和使用有问题。

@burningtnt
Copy link
Member Author

默认的Java目录,安装的大部分第三方发行版都不可用。而甲骨文的build21可以识别路径,但是版本号和使用有问题。

请提供一个测试环境

@MCerror318
Copy link

默认的Java目录,安装的大部分第三方发行版都不可用。而甲骨文的build21可以识别路径,但是版本号和使用有问题。

请提供一个测试环境

系统 Windows11专业工作站版23H2 
64G DDR4 3200Mhz RAM 
CPU i7-11700K @3.6GHZ
GPU ASUS DUAL-RTX4070 OC 12G
主板ASUS B560 M-K
SAMSUN 970EVO SSD
JDK 23 BUILD 21

@burningtnt
Copy link
Member Author

burningtnt commented May 4, 2024

默认的Java目录,安装的大部分第三方发行版都不可用。而甲骨文的build21可以识别路径,但是版本号和使用有问题。

请提供一个测试环境

系统 Windows11专业工作站版23H2  64G DDR4 3200Mhz RAM  CPU i7-11700K @3.6GHZ GPU ASUS DUAL-RTX4070 OC 12G 主板ASUS B560 M-K SAMSUN 970EVO SSD JDK 23 BUILD 21

…… 我要你的 Java 安装包,安装路径
谁要你这种硬件信息

@MCerror318
Copy link

默认的Java目录,安装的大部分第三方发行版都不可用。而甲骨文的build21可以识别路径,但是版本号和使用有问题。

请提供一个测试环境

系统 Windows11专业工作站版23H2 64G DDR4 3200Mhz RAM CPU i7-11700K @3.6GHZ GPU ASUS DUAL-RTX4070 OC 12G 主板ASUS B560 M-K SAMSUN 970EVO SSD JDK 23 BUILD 21

......我要你的 Java 安装包,安装路径 谁要你这种硬件信息

我还以为你要搞一个一模一样的硬件平台:(鬼哦 是我想多了这 玩意怎么可能.....
安装包https://download.java.net/java/early_access/jdk23/21/GPL/openjdk-23-ea+21_windows-x64_bin.zip
路径C:\Program Files\Java
别的应该都正常

@burningtnt
Copy link
Member Author

burningtnt commented May 5, 2024

安装包https://download.java.net/java/early_access/jdk23/21/GPL/openjdk-23-ea+21_windows-x64_bin.zip
路径C:\Program Files\Java
别的应该都正常

你的 java.exe 是否位于 C:\Program Files\Java\bin\jdk-23\java.exe
我这边测试下来是没问题的
image
请忽略图中无法补全 JavaFX 的报错。这是因为我没有给 Windows Sandbox 联网导致的

@MCerror318
Copy link

Member

是在路径里但是报错

@burningtnt
Copy link
Member Author

是在路径里但是报错

请提供更多信息。我根据你挤牙膏般提供出来的信息无法复现。麻烦不要惜字如金,否则我们无法解决您的问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants