Two users recently had the experience of trying for the first time to build the uimaj-ep-cas-editor project. They got errors that looked like:
> [INFO] Failed to resolve artifact. > > Couldn't find a version in [1.0.0-v20070423, 1.0.0-v20070606] to match > range [1.0.0,2.0.0) > org.eclipse.equinox:app:jar:null > > from the specified remote repositories: > central (*http://repo1.maven.org/maven2*), > ApacheIncubatorRepository > (*http://people.apache.org/repo/m2-incubating-repository*), > eclipsePlugins (*http://repo1.maven.org/eclipse > <http://repo2.maven.org/eclipse>*) > > Path to dependency: > 1) org.apache.uima:uimaj-ep-cas-editor:bundle:2.3.0.incubating-SNAPSHOT > 2) org.eclipse.core:runtime:jar:3.3.100-v20070530 > This is correct, because the POM downloaded from maven's central repo for the core.runtime jar of Eclipse specifies it depends on the "app.jar" version [1.0.0, 2.0.0). This, according to maven's versioning rules, truly makes no match for the versions in maven's central repo for this artifact, because maven's compare routines states that a.b.c-xxxx comes before a.b.c and therefore, the minimum required version: 1.0.0 is greater than the available versions: 1.0.0-v20070423 etc. It turns out that there are 2 versions of the Eclipse repo - and the other version has the right dependency information. The other repo is specified in our top level parent POM - it's http://repo1.maven.org/eclipse (the "central" maven repo is: http://repo1.maven.org/maven2 ) So, if someone uses maven in a way that references and downloads to their local repo Eclipse parts using the "default" central maven repo, they will get POMs that don't work for some purposes. If they later try and build the UIMA project, even though we have the repo specified in our uimaj/pom.xml parent pom, that doesn't do anything, because the (wrong) pom has already been downloaded from maven central. Of course, you can "fix" this by deleting the eclipse section of your local repository, forcing maven to download from the correct repo (using the uimaj parent POM spec for the repository). (I also checked the dates in case the fixed version was "newer" - but it's older...) -Marshall