From e6ecd797c248e152af87dd615a4e76453e381995 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sun, 13 Jul 2025 00:40:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=BF=BD=E7=95=A5=20%ProgramFiles%\Common?= =?UTF-8?q?=20Files\Oracle\Java=20=E4=B8=AD=E7=9A=84=20Java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HMCL/java.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/HMCL/java.cpp b/HMCL/java.cpp index 6613a10..4975706 100644 --- a/HMCL/java.cpp +++ b/HMCL/java.cpp @@ -188,10 +188,15 @@ void HLSearchJavaInPath(HLJavaList &result, const std::wstring &path, LPCWSTR ja if (pathCount > 0) { // Not empty HLPath javaExecutable = path.substr(pos, pathCount); javaExecutable /= javaExecutableName; - HLDebugLogVerbose(L"Checking " + javaExecutable.path); - result.TryAdd(javaExecutable); - } + // https://github.com/HMCL-dev/HMCL/issues/4079 + if (javaExecutable.path.find(L"\\Common Files\\Oracle\\Java\\")) { + HLDebugLogVerbose(std::format(L"Ignore duplicate Java {}", javaExecutable.path)); + } else { + HLDebugLogVerbose(L"Checking " + javaExecutable.path); + result.TryAdd(javaExecutable); + } + } pos = end + 1; } } From 0f25126874131c6455b3e4b0eb2ce715f2de2925 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sun, 13 Jul 2025 00:42:02 +0800 Subject: [PATCH 2/3] update --- HMCL/java.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HMCL/java.cpp b/HMCL/java.cpp index 4975706..a701a22 100644 --- a/HMCL/java.cpp +++ b/HMCL/java.cpp @@ -190,8 +190,8 @@ void HLSearchJavaInPath(HLJavaList &result, const std::wstring &path, LPCWSTR ja javaExecutable /= javaExecutableName; // https://github.com/HMCL-dev/HMCL/issues/4079 - if (javaExecutable.path.find(L"\\Common Files\\Oracle\\Java\\")) { - HLDebugLogVerbose(std::format(L"Ignore duplicate Java {}", javaExecutable.path)); + if (javaExecutable.path.find(L"\\Common Files\\Oracle\\Java\\") != std::wstring::npos) { + HLDebugLogVerbose(std::format(L"Ignore Oracle Java {}", javaExecutable.path)); } else { HLDebugLogVerbose(L"Checking " + javaExecutable.path); result.TryAdd(javaExecutable); From a5e5450e87545bd2dd7438c1764c7319e6f1946b Mon Sep 17 00:00:00 2001 From: Glavo Date: Sun, 13 Jul 2025 00:45:18 +0800 Subject: [PATCH 3/3] update --- HMCL/java.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/HMCL/java.cpp b/HMCL/java.cpp index a701a22..d82f210 100644 --- a/HMCL/java.cpp +++ b/HMCL/java.cpp @@ -190,11 +190,11 @@ void HLSearchJavaInPath(HLJavaList &result, const std::wstring &path, LPCWSTR ja javaExecutable /= javaExecutableName; // https://github.com/HMCL-dev/HMCL/issues/4079 - if (javaExecutable.path.find(L"\\Common Files\\Oracle\\Java\\") != std::wstring::npos) { - HLDebugLogVerbose(std::format(L"Ignore Oracle Java {}", javaExecutable.path)); - } else { + if (javaExecutable.path.find(L"\\Common Files\\Oracle\\Java\\") == std::wstring::npos) { HLDebugLogVerbose(L"Checking " + javaExecutable.path); result.TryAdd(javaExecutable); + } else { + HLDebugLogVerbose(std::format(L"Ignore Oracle Java {}", javaExecutable.path)); } } pos = end + 1;