Maven 2.2.1 behauptet, Versionsbereiche zu unterstützen (siehe z.B. http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-version-ranges )
Ich habe von einer brandneuen Maven-Installation das folgende Pom ausprobiert:
<project>
<modelVersion>4.0.0</modelVersion>
<artifactId>rangetest</artifactId>
<groupId>my.group</groupId>
<version>1.0</version>
<packaging>jar</packaging>
<description>test project containing one dependency, only</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Die Abhängigkeit sollte zu junit 4.8.2 aufgelöst werden, richtig? Aber stattdessen wird die Version 4.8 aufgelöst:
C:\Users>mvn dependency:tree
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - my.group:rangetest:jar:1.0
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] my.group:rangetest:jar:1.0
[INFO] \- junit:junit:jar:4.8:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Oct 07 14:30:40 CEST 2010
[INFO] Final Memory: 9M/23M
[INFO] ------------------------------------------------------------------------
Man könnte meinen, dass es ein Problem mit Junit ist, da 4.8 eine bestehende Version ist, aber das ist es nicht. In meinen Projekten habe ich Versionen von 1.0.0 bis 1.0.15 eingesetzt (keine Version 1.0!), aber mvn dependency:tree
beschwert sich über ein fehlendes Artefakt der Version 1.0.