Class ComparableVersion
java.lang.Object
org.apache.maven.artifact.versioning.ComparableVersion
- All Implemented Interfaces:
- Comparable<ComparableVersion>
Generic implementation of version comparison.
Features:- mixing of '-' (hyphen) and '.' (dot) separators,
- transition between characters and digits also constitutes a separator:
     1.0alpha1 => [1, 0, alpha, 1]
- unlimited number of version components,
- version components in the text can be digits or strings,
- 
   String qualifiers are ordered lexically (case insensitive), with the following exceptions:
   - 'snapshot' < '' < 'sp'
 - 'a' -> 'alpha'
- 'b' -> 'beta'
- 'm' -> 'milestone'
- 'cr' -> 'rc'
- 'final' -> ''
- 'final' -> ''
- 'final' -> ''
 
- 
   Following semver rules is encouraged, and some qualifiers are discouraged (no matter the case):
   - The usage of 'CR' qualifier is discouraged. Use 'RC' instead.
- The usage of 'final', 'ga', and 'release' qualifiers is discouraged. Use no qualifier instead.
- The usage of 'SP' qualifier is discouraged. Increment the patch version instead.
 - alpha = a < beta = b < milestone = m < rc = cr < snapshot < '' = final = ga = release < sp
 
- a hyphen usually precedes a qualifier, and is always less important than digits/number, for example 1.0.RC2 < 1.0-RC3 < 1.0.1 ; but prefer '1.0.0-RC1' over '1.0.0.RC1'
- Author:
- Kenney Westerhof, Hervé Boutemy
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionintbooleaninthashCode()static voidMain to test version parsing and comparison.final voidparseVersion(String version) toString()
- 
Constructor Details- 
ComparableVersion
 
- 
- 
Method Details- 
parseVersion
- 
compareTo- Specified by:
- compareToin interface- Comparable<ComparableVersion>
 
- 
toString
- 
getCanonical
- 
equals
- 
hashCodepublic int hashCode()
- 
mainMain to test version parsing and comparison.To check how "1.2.7" compares to "1.2-SNAPSHOT", for example, you can issue java -jar ${maven.repo.local}/org/apache/maven/maven-artifact/${maven.version}/maven-artifact-${maven.version}.jar "1.2.7" "1.2-SNAPSHOT"command to command line. Result of given command will be something like this:Display parameters as parsed by Maven (in canonical form) and comparison result: 1. 1.2.7 == 1.2.7 1.2.7 > 1.2-SNAPSHOT 2. 1.2-SNAPSHOT == 1.2-snapshot- Parameters:
- args- the version strings to parse and compare. You can pass arbitrary number of version strings and always two adjacent will be compared
 
 
-