Maven seems to have the ability to indicate a range of versions such as how does maven figure out what is a newer or old
This is a test that was written directly against the ComparableVersion class from Maven.
package org.codehaus.mojo.buildhelper.versioning;
import org.apache.maven.artifact.versioning.ComparableVersion;
import org.junit.Assert;
import org.junit.Test;
public class TempTest {
@Test
public void testVersions() {
Assert.assertTrue(new ComparableVersion("1.0-beta1-SNAPSHOT").compareTo(
new ComparableVersion("1.0-beta1")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-beta1").compareTo(
new ComparableVersion("1.0-beta2-SNAPSHOT")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-beta2-SNAPSHOT").compareTo(
new ComparableVersion("1.0-rc1-SNAPSHOT")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-rc1-SNAPSHOT").compareTo(
new ComparableVersion("1.0-rc1")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-rc1").compareTo(
new ComparableVersion("1.0-SNAPSHOT")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-SNAPSHOT").compareTo(
new ComparableVersion("1.0")) < 0);
Assert.assertTrue(new ComparableVersion("1.0").compareTo(
new ComparableVersion("1")) == 0);
Assert.assertTrue(new ComparableVersion("1.0").compareTo(
new ComparableVersion("1.0-sp")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-sp").compareTo(
new ComparableVersion("1.0-whatever")) < 0);
Assert.assertTrue(new ComparableVersion("1.0-whatever").compareTo(
new ComparableVersion("1.0.1")) < 0);
}
}
This test asserts that the following versions are considered to be from lowest to highest by Maven: