Dear Wayne,
I have encountered some of the reasons you gave.
But the reason why I release the topic is very simple :D
I just think so many jar files are put at WEB-INF/lib would confused
somebody.
He/She would be puzzled why some many jars were used.
And some of the files aren't associate with the project obviously.

Additionally, according to the discussion, some files can be excluded
surely.
It means that the jars are not needed in runtime time(say nothing of compile
time).
Why the artifacts are at dependency element?
I think the setting can be erased from the pom file. Or have other reasons?

a cup of Java, cheers!
Sha Jiang


Wayne Fay wrote:
> 
> 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]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Too-many-jars-added-to-lib--tf2558368s177.html#a7253410
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to