This page describes the maven standard for project version numbers. Maven's dependency resolution uses the project version string to correctly order project versions.
Basic Version String
The format of the version String should look like the following:
For example, the string 2.0.1-beta-1 has a major version "2", a minor version "0" a, an incremental version "1", and a qualifier "beta-1". The String "5" has only a major version and none of the other components.
Using Snapshot Versions
Maven includes a special qualifier string called snapshot. This is can be any standard version string that ends with the qualifier "-SNAPSHOT". Snapshot version are handled differently than the standard version strings in that Maven does not assume these artifacts are static. Snapshot artifacts are intended to be temporary release builds and therefore will change and/or be removed over time.
Project Version Parsing
The code used to parse a version string in Maven can be found in the public svn repository.