[ https://issues.apache.org/jira/browse/MTOOLCHAINS-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17823746#comment-17823746 ]
ASF GitHub Bot commented on MTOOLCHAINS-49: ------------------------------------------- mthmulders commented on code in PR #14: URL: https://github.com/apache/maven-toolchains-plugin/pull/14#discussion_r1513343272 ########## src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java: ########## @@ -411,10 +411,12 @@ private Set<Path> findJdks() { installedDirs.add(Paths.get(userHome, "Library/Java/JavaVirtualMachines")); } else if (win) { installedDirs.add(Paths.get("C:\\Program Files\\Java\\")); - Path scoop = Paths.get(userHome, "scoop/apps"); + Path scoop = Paths.get(userHome, "scoop", "apps"); if (Files.isDirectory(scoop)) { try (Stream<Path> stream = Files.list(scoop)) { - stream.forEach(dirsToTest::add); + // Scoop can install multiple versions of a Java distribution, we only take the one that is + // currently selected. + stream.map(path -> Paths.get(path.toString(), "current")).forEach(dirsToTest::add); Review Comment: I'll double-check again one of these days, but I'm pretty sure that `<userHome>\scoop\apps` is not enough. Scoop-installed Java runtimes reside under `<userHome>\scoop\apps\<packageName>\<version>`, with `<userHome>\scoop\apps\<packageName>\current` as a symlink to the currently active version of that package. Regardless of that, the question remains: given that `openjdk21` has three installed versions (21.0.0, 21.0.1 and 21.0.2), do we want all of them to be detected or only the current one? > Automatic discovery of JDK toolchains > ------------------------------------- > > Key: MTOOLCHAINS-49 > URL: https://issues.apache.org/jira/browse/MTOOLCHAINS-49 > Project: Maven Toolchains Plugin > Issue Type: Improvement > Reporter: Guillaume Nodet > Assignee: Guillaume Nodet > Priority: Major > -- This message was sent by Atlassian Jira (v8.20.10#820010)