Maven Artifact classes, providing Artifact interface (javadoc), with its DefaultArtifact implementation (source).
The jar file is executable and provides a little tool to display how Maven parses and compares versions:
- $ java -jar maven-artifact-*.jar 3.2.4-alpha-1 3.2.4-SNAPSHOT 3.2.4.0
- Display parameters as parsed by Maven (in canonical form) and comparison result:
- 1. 3.2.4-alpha-1 == 3.2.4.alpha.1
- 3.2.4-alpha-1 < 3.2.4-SNAPSHOT
- 2. 3.2.4-SNAPSHOT == 3.2.4.snapshot
- 3.2.4-SNAPSHOT < 3.2.4.0
- 3. 3.2.4.0 == 3.2.4