Sure, individual projects have done things as they saw fit. Guava has -jre
and -android flavors on their artifact ID instead of using classifiers.
Bouncycastle is using ant for their build process. I wouldn't want to
emulate either as best practice.

Scala, as an ecosystem, has decided on "_binaryVersion" appended to
artifact ID, which feels gross.

The Maven POM reference ( https://maven.apache.org/pom.html ) is pretty
clear: "The classifier distinguishes artifacts that were built from the
same POM but differ in content. It is some optional and arbitrary string
that - if present - is appended to the artifact name just after the version
number. As a motivation for this element, consider for example a project
that offers an artifact targeting Java 11 but at the same time also an
artifact that still supports Java 1.8."

Binary compatibility versions are noise that should be in the classifier,
if you're building from the same source tree, it only needs one artifact ID.

Reply via email to