There are numerous reasons for why you might want to exclude some dependencies of dependencies... Here are a few:
1. New version of artifact is available which is not automatically being found and used instead of the old version, resulting in 2 copies of the artifact with different versions attached. 2. GroupID of artifact has changed, resulting in 2 copies of the artifact with different versions attached. 3. An API which might have multiple vendors -- ie Sun API which requires click-wrap licensing and manual install into repo vs CDDL/GNU licensed version of the same API which is freely available in the repo. 4. An artifact that should have been marked optional but was not. 5. An artifact which is provided by your runtime container thus should not be included with your build. I'm sure there are many more reasons to use <excludes>, but these are a few I've run into myself in the last few months... Wayne On 11/8/06, jiangshachina <[EMAIL PROTECTED]> wrote:
Automatically importing dependencies of dependencies is a great feature. But users have to know the dependency hierarchy, or we cannot exclude the artifacts exactly. And I'm puzzled that why can exclude some dependencies of dependencies? If a jar(artifact) is a dependency of our project's direct dependency, it means that we need it, but exclude it? a cup of Java, cheers! Sha Jiang struberg wrote: > > there is a syntax to exclude some transitive > dependencies from the dependency-list: > > a small sample: > <dependency> > <groupId>avalon-framework</groupId> > <artifactId>avalon-framework-api</artifactId> > <version>4.3</version> > <exclusions> > <exclusion> > <groupId>avalon-logkit</groupId> > <artifactId>avalon-logkit</artifactId> > </exclusion> > </exclusions> > </dependency> > > I guess this may solve your problems. > > best regards, > strub > > --- Dmystery <[EMAIL PROTECTED]> schrieb: > >> >> This should definitely remove all the unwanted >> dependencies. Even if they are >> dependencies of a dependency. I'm doing the same >> thing to remove all the >> unwanted files. >> Can you post your pom.xml? >> >> jiangshachina wrote: >> > >> > Hi Dmystery, >> > Thanks for your help. >> > >> > I'm sorry that I cannot success with your >> instructions. >> > And I also read the guide on maven-war-plugin, >> especially at >> > >> > http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html >> > Unfortunately, I don't find the answer. >> > >> > The guide is on how to add or filter resources >> from standard/customized >> > resource paths. >> > But it's not on how to filter resources from the >> dependencies of >> > dependencies. >> > >> > a cup of Java, cheers! >> > Sha Jiang >> > >> > >> > Dmystery wrote: >> >> >> >> Use maven-war-plugin. Due to transitive >> dependencies in M2, you need to >> >> remove them using the <warSourceExcludes> tag in >> the plugin as below. >> >> >> >> <build> >> >> <plugins> >> >> <plugin> >> >> <groupId>org.apache.maven.plugins</groupId> >> >> <artifactId>maven-war-plugin</artifactId> >> >> <version>2.0.1</version> >> >> <configuration> >> >> <warSourceExcludes> >> >> WEB-INF/lib/jar1,WEB-INF/lib/jar2, >> >> </warSourceExcludes> >> >> </configuration> >> >> </plugin> >> >> </plugins> >> >> </build> >> >> >> >> Checkout : >> > http://maven.apache.org/plugins/maven-war-plugin/index.html >> >> >> >> >> >> jiangshachina wrote: >> >>> >> >>> I have another question. >> >>> In Web application project, generally, class >> files would be located at >> >>> WEB-INF/classes. >> >>> But now, I want they to be archived, and locate >> at WEB-INF/lib. >> >>> >> >>> And I want the jars could be put into different >> sub-directory under >> >>> WEB-INF/lib? >> >>> >> >>> maven-jar-plugin or maven-war-plugin can help >> me? >> >>> How can I do? >> >>> >> >>> >> >>> jiangshachina wrote: >> >>>> >> >>>> Hello, >> >>>> My web projects needs Apache >> commons-configuration. >> >>>> I added commons-configuration to my dependency. >> >>>> After run "mvn package", too many jar files >> were added into WEB-INF/lib >> >>>> directory. >> >>>> But I found many jars(e.g. xalan-2.7.0.jar) out >> of the list, which >> >>>> lists commons-configuration's runtime >> dependencies, shown at home of >> >>>> commons-collections. >> >>>> In commons-configuration-1.2.pom, so many >> dependencies are added. >> >>>> >> >>>> How to cancel the trouble? >> >>>> >> >>>> a cup of Java, cheers! >> >>>> Sha Jiang >> >>>> >> >>> >> >>> >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> > http://www.nabble.com/Too-many-jars-added-to-lib--tf2558368s177.html#a7131903 >> Sent from the Maven - Users mailing list archive at >> Nabble.com. >> >> >> > --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> [EMAIL PROTECTED] >> For additional commands, e-mail: >> [EMAIL PROTECTED] >> >> > > > > > ___________________________________________________________ > Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Too-many-jars-added-to-lib--tf2558368s177.html#a7250848 Sent from the Maven - Users mailing list archive at Nabble.com. --------------------------------------------------------------------- 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]
