Maven war contains extra dependencies if not built standalone
I've got a war which I'm trying to reduce the dependencies contained in it's WEB-INF/lib as they're provided by the ear and if they're only in the ear it resolves some classloader issues I've had.
If I run mvn clean install in the modu开发者_如何转开发le for the war it builds in only the dependencies I want. If I go up a level and run mvn install on the project (the war's defined as a module in the pom.xml at this level) then the war is repackaged with a lot more dependencies.
Why would the behaviour be different and how can I stop all these extra dependencies getting in?
I've tried following the advice here but saw no difference in the behaviour: http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html
Maven 2.0.6, maven-ear-plugin 2.4.1, maven-war-plugin 2.1-beta-1 (I can't change the versions, I'm on a closed network). Thanks in advance.
ETA: A mvn clean install at the project level gives me the results I want. An mvn clean and then an mvn install adds in the extra jars that I don't want.
Run mvn dependency:tree
to see where the (probably transitive) dependencies are coming in from.
You'll want to read "Maven the Definitive Guide" (free PDF by Sonatype) in order to get an in depth understanding of how Maven deals with Dependency management.
And please do find a way to upgrade to maven 2.1.0 (preferably 2.2.1), and the latest versions of the plugins, earlier versions are notoriously buggy.
精彩评论