You can run your Maven build with -X to get debug output, which will
include the dependency info you need. It's a little hard to read, so
you could alternatively run "mvn
project-info-reports:dependencies" and then open the html file it
produces in target/site/dependencies.html
And I think we should be able to satisfy your last request.
Basically, when you just write the version in directly like we have,
it's just a suggested version. We should be able to write it as a
version range. Please try applying the attached patch, rerunning mvn
install, and trying out your project again.
-Stephen
On 12/17/06, Ugo Cei <[EMAIL PROTECTED]> wrote:
Folks,
I'm trying to build a project that uses Abdera, using Maven 2. Here's
the list of dependencies taken from my POM:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-server</artifactId>
<version>0.3.0-incubating-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-client</artifactId>
<version>0.3.0-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.0.0rc0</version>
<scope>test</scope>
</dependency>
With these dependencies, my project builds but does not run because
of a class introduced in commons-codec 1.3 but not yet there in
commons-codec 1.2. Dependency on commons-codec is specified in
Abdera's protocol/pom.xml. For some reason, Maven pulls down version
1.2 instead of 1.3, and this even if I specify the exact version in
protocol/pom.xml.
I can work around the issue by declaring an explicit dependency on
1.3 in my project's pom.xml, but I'd like to understand why this is
happening. I have a hunch commons-codec is specified in the
dependencies for one of the other libraries I'm using, but I don't
know how to check, short of looking at all their POMs, recursively.
Besides this, I'd like to know if we can somehow force evey project
that includes Abdera libs as dependencies to download commons-codec
1.3 at least, to prevent other people from falling in the same trap I
fell into.
Ugo
--
Stephen Duncan Jr
www.stephenduncanjr.com
Index: pom.xml
===================================================================
--- pom.xml (revision 487992)
+++ pom.xml (working copy)
@@ -176,7 +176,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.3</version>
+ <version>[1.3,)</version>
<scope>compile</scope>
</dependency>