[ 
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)

Reply via email to