I have a preference for B. This is based on my experience in supporting
large XML documents defined by international standards (ISO 19115, ISO
19136, …) which changed their namespace when they published a new
version. Projects using JAXB for reading such XML documents sometime
lazily generate two set of classes by running the JAXB compiler twice,
once for each version. The result is two set of nearly identical Java
classes and a lot of effort spent in copying data from one version to
another. A theoretically better approach is to support only one version
and use XSLT for converting the other version on the fly, but it still a
significant effort especially if the developers have to write the XSLT
themselves.
However, I may underestimate the implications of a change for the Maven
ecosystem, so I'm fine if the majority decide for A.
Martin
Le 01/04/2026 à 07:27, Hervé Boutemy a écrit :
typo fix: we're voting on the new pom.xml = the BUILD one (the consumer remains
the Maven 3 one)
sorry, here is the fixed message, for sake of precision:
after a long discussion on consequences of each choice, it's time to make a
decision:
option A:
keep 4.1.0 XML namespace that permits modelVersion inference since 4.0.0-
alpha-6
= promote simplified build POM like:
<project xmlns="http://maven.apache.org/POM/4.1.0">
...
</project>
option B:
revert to 4.0.0 XML namespace, forcing explicit modelVersion back:
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.1.0</modelVersion>
...
</project>
= finish the revert PR https://github.com/apache/maven/pull/10952
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]