I have a maven project which has the direct dependency as follows:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>
but in spite of this, the mvn dependency:tree shows slf4j-api version chosen as 1.6.2, and as direct dependency to my project!
There are other dependencies in my project which might depend on some other version of slf4j. But my understanding is that the version specified nearest to the root of the tree is picked up.
Other dependencies on slf4j related stuff are org.slf4j:jul-to-slf4j:jar:1.7.5:compile, org.slf4j:log4j-over-slf4j:jar:1.7.5:compile (direct dependencies) and org.slf4j:jcl-over-slf4j:jar:1.7.3:runtime (transitive dependency)
I am building a war in this maven project, and the jar of slf4j included is at 1.6.2 in the archive. I don't know what to do to make sure I get the jar version 1.7.5 and not 1.6.2.
Update: I am using maven 3.0.4.
Update 2: As requested, the pom and the debug logs are added. Since the files were huge, I've added it to dropbox Public folder: https://www.dropbox.com/sh/w1rtgvxvnt4jf18/lbiMIgwWD_