Brent, If you haven't read the Sonatype link, it tells some important things about how the version number is interpreted by Maven. The standard is using 3 numbers, and it allows Maven to know that, for example, 1.3 < 1.4. But what happens if you version as "1.3-jdbc3"? Is anyone going to confident in that 1.3 < 1.3-jdbc3? It's not a version number, but clearly a different artifact. As the link says, Maven treats non-standard version numbers as straight lexical comparisons.
For users who use employ version ranges in their POMs like "[1,3,)" they are telling Maven they want >= 1.3. It is misleading -- I actually believe wrong -- to say that the "1.3-jdbc3" version is less than version "1.3". I think it's clear you have separate artifacts because the "1.3-jdbc3" incorrectly fit on the range of version numbers. Paul On Wed, Nov 25, 2009 at 4:56 PM, Brent Worden <[email protected]> wrote: > On Wed, Nov 25, 2009 at 4:23 PM, Paul Benedict <[email protected]> wrote: >> >> Phil, >> >> I don't think you should be modifying the version (and groups, really) >> here. All the artifacts belong to version 1.3. >> >> Maven does have a concept of a qualifier, but according to Sonatype, >> it's only to capture milestone builds: >> http://www.sonatype.com/books/maven-book/reference/pom-relationships-sect-pom-syntax.html >> >> What you have, simply, is, different artifacts. Keep the same groupId >> and version, just alter the artifact names. >> >> JDBC 4 version (JDK 1.6) >> groupId = org.apache.commons >> artifactId = commons-dbcp >> version = 1.3 >> >> JDBC 3 version (JDK 1.4-1.5) >> groupId = org.apache.commons >> artifactId = commons-dbcp-jdbc3 >> version = 1.3 >> >> Paul >> > > I do not agree with the artifact/version statements. In my mind, > different artifactId's imply the jars are companion or supplementary > artifacts. The JDBC 3 and 4 version of commons-dbcp are drop in > replacements of each other. To me, this implies different artifact > versions. > > I do agree, that the groupId should be constant. > > Also, if the multiple version approach is taken, I would explicitly > call out the JDBC version in all artifacts in order to be consistent > and eliminate user ambiguity. > > Brent > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
