I have a war file that gets a slf4j-jdk14 dependency in WEB-INF/lib when I run mvn package
and I can't figure out how it's getting in there. CD'd into the director of the war and ran mvn dependency:tree -Dverbose
. The only line that mentions slf4j-jdk14 is this:
[INFO] +- org.slf4j:slf4j-jdk14:jar:1.6.1:provided
You can see the full output here: https://gist.github.com/dankmirth/691b020f4f908f92015f
I can comment out this dependency in the pom. When I do that, mvn dependency:tree -Dverbose
doesn't mention slf4j-jdk14 at all. But, if I then run mvn clean package
the war still has this jar in it.
How is this possible? Does dependency:tree
only show part of the picture? Is this a maven bug?
$ mvn -version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 08:22:22-0700)
If I run help:effective-pom
only had a reference to slf4j-jdk14 is in a line that's excluding it. The war plugin looks standard to me here's the output:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>default-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
</execution>
</executions>
</plugin>
Although I'd love to provide a pom for this, I can't because my company wouldn't allow it. I've tried to reproduce this in a sample project and have been unable to. I'm hoping some expert out there can point me down a path to debug where this jar is coming from because in my understanding of maven, this shouldn't be possible.