apache / apache/maven-toolchains-plugin

[MTOOLCHAINS-44] Use default JDK if it matches the request and no other toolchain is defined

Open
#103 3 comments 0 reactions 0 assignees View on GitHub
enhancement priority:major
Dominant language
Java
Stars
27
Forks
31
PR merge metrics
No merged PRs in 30d

Description

**[dennis lucero](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=striderapache)** opened **[MTOOLCHAINS-44](https://issues.apache.org/jira/browse/MTOOLCHAINS-44?redirect=false)** and commented

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.

---

**Affects:** 3.1.0

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.