Can maven handle custom qualifiers?

These examples will work fine.

Qualifiers have no special meaning other than:

  • SNAPSHOT, which gets transformed into the correct timestamp / build number
  • solely numerical values, which are actually a build number instead of a qualifier (and considered newer than the corresponding base version)

All qualifiers are considered to be older than the associated release, i.e. 1.2-beta-1 < 1.2

Comparison of qualifiers is done as a string comparison. This behaviour can differ in Maven 2.x and Maven 3.x (in the former, 1.0-beta-10 < 1.0-beta-5, in the latter it behaves in the reverse as you'd expect).


The 2011 answer is now obsolete in many important details. See the Javadoc on https://maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html and the Wiki link there for the current version processing logic.

c.f. How does maven sort version numbers? for commentary on the Javadoc for ComparableVersion.