[ https://issues.apache.org/jira/browse/MTOOLCHAINS-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916469#comment-17916469 ]
dennis lucero commented on MTOOLCHAINS-44: ------------------------------------------ I noticed the toolchains plugin now has a [JDK discovery mechanism|https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk-discovery.html]. However it doesn’t work as I would expect after reading the documentation. * I don’t see any effect of {{{}<goal>select-jdk-toolchain</goal>{}}}. I thought it would set some internal state so the following {{<goal>toolchain</goal>}} would work, but that goal fails although {{mvn org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:display-discovered-jdk-toolchains}} finds the JDK matching the required version in the toolchains plugin configuration section (using the {{maven:3-eclipse-temurin-17-alpine}} Docker image). * Running {{mvn org.apache.maven.plugins:maven-toolchains-plugin:3.2.0:generate-jdk-toolchains-xml}} generates {{~/.m2/discovered-jdk-toolchains-cache.xml}} which does not seem to have any effect. However it works when renaming it to {{toolchains.xml}}. > Use default JDK if it matches the request and no other toolchain is defined > --------------------------------------------------------------------------- > > Key: MTOOLCHAINS-44 > URL: https://issues.apache.org/jira/browse/MTOOLCHAINS-44 > Project: Maven Toolchains Plugin > Issue Type: Improvement > Affects Versions: 3.1.0 > Reporter: dennis lucero > Priority: Major > > Currently it is needed to have the toolchains defined in the toolchains.xml > file. The [Maven Docker images|https://hub.docker.com/_/maven] do not > [include a useful toolchains > file|https://github.com/carlossg/docker-maven/issues/303]. But since it’s > possible to [derive a usable toolchain from the system > properties|https://github.com/carlossg/docker-maven/issues/303#issuecomment-1310895631], > it should not be required to store that information in the toolchains.xml > file. Instead, Maven should check if the toolchain request could be fulfilled > by the JDK running Maven. > I’m not sure if it’s reasonable to do this in all cases or only if the > toolchains file does not contain any toolchain. For example, if the > toolchains file only contains a Java 16 toolchain and the project requires > Java 17 (exactly, not 17 or later) and Maven is run with Java 17, it would be > possible to build the project (with Java 17), but probably not a good idea > since it will fail when the Java installation Maven is running on is updated > to version 18. -- This message was sent by Atlassian Jira (v8.20.10#820010)