support java from homebrew (#3035)

* fix: support java from homebrew

* fix: support java from homebrew

* fix: add ~/Library/Java/JavaVirtualMachine
This commit is contained in:
Liyan Zhao 2024-05-14 00:15:07 +08:00 committed by GitHub
parent 908f47f75e
commit e0764d6f0c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -335,11 +335,18 @@ public final class JavaVersion {
javaExecutables.add(listDirectory(Paths.get("/Library/Java/JavaVirtualMachines"))
.flatMap(dir -> Stream.of(dir.resolve("Contents/Home"), dir.resolve("Contents/Home/jre")))
.map(JavaVersion::getExecutable));
javaExecutables.add(listDirectory(Paths.get(System.getProperty("user.home"), "Library/Java/JavaVirtualMachines"))
.flatMap(dir -> Stream.of(dir.resolve("Contents/Home"), dir.resolve("Contents/Home/jre")))
.map(JavaVersion::getExecutable));
javaExecutables.add(listDirectory(Paths.get("/System/Library/Java/JavaVirtualMachines"))
.map(dir -> dir.resolve("Contents/Home"))
.map(JavaVersion::getExecutable));
javaExecutables.add(Stream.of(Paths.get("/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java")));
javaExecutables.add(Stream.of(Paths.get("/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/java/bin/java")));
// Homebrew
javaExecutables.add(Stream.of(Paths.get("/opt/homebrew/opt/java/bin/java")));
javaExecutables.add(listDirectory(Paths.get("/opt/homebrew/Cellar/openjdk"))
.map(JavaVersion::getExecutable));
break;
default: