Dear friends,
I really don't want to "miss the boat on Maven".
If cut the connection between Maven and my local repository, I'll miss some
benefits provided by Maven.

For example, I want to use Apache commons-configuration as dependency.
[1]I just re-install all jars simply, and don't enhance theire pom files.
Then I have to set commons-lang, commons-collections ... as dependencies
manually. But with Maven central repository, I just need set
commons-configuration as dependency, Maven would reference to other related
artifacts automatically, since the pom of commons-configuration indicates
the relation.
[2]I re-install all jars, and enhance thiere pom files. The poms exactly set
dependency relation. Of course, then I can use this commons-configuration as
the same as that in Maven central repository. But it's duplicate work, which
isn't my want.

Undoubtedly, Maven central repository is crucial.
My question just be why so many unessential artifacts are added to pom? 
May there are "some reasons" I don't know.
Thanks!

a cup of Java, cheers!
Sha Jiang


Wayne Fay wrote:
> 
> I certainly am not using any custom local repo w/custom artifacts etc
> except in extremely rare cases, and I really don't think anyone else
> should either just because it will be a management nightmare IMO.
> 
> Someone else posted some similar questions/problems about a month or
> so ago -- it seems they had completely missed the boat on Maven
> automatically downloading and installing dependencies etc and had
> actually built out their own repo with artifacts under their own
> groupIds with modified poms etc. And then they started running into
> some problems... It sounded like hell to me and my suggestion was to
> throw it all away, RTFM and start over from scratch.
> 
> But I'm happy to help Sha configure things as their organization
> requires... even if I think its a bad idea personally. Maven gives you
> enough rope to hang yourself, if you work hard at it and really want
> to.
> 
> Wayne
> 
> On 11/9/06, Barrett Nuzum <[EMAIL PROTECTED]> wrote:
>> Sha & Wayne:
>>
>> I would propose that a better idea would be that once things have been
>> installed in your local repository, to change your settings.xml to
>> <offline>true</offline>.
>>
>> That way you have limited your local repository to a desired set of
>> artifacts, but still can reconnect up or upgrade without changing all
>> your
>> groupIds, when the time comes. (... for it certainly will.)
>>
>> Barrett
>>
>> Barrett Nuzum
>> Consultant, Skill Development
>> [EMAIL PROTECTED]
>> T:  +1 (918) 640 4414
>> F:  +1 (972) 789 1340
>>
>>
>> Valtech
>> 5080 Spectrum Drive Suite 700 West
>> Addison, Texas 75001
>> USA
>> T: +1 (972) 789 1200
>>
>> ________________________________
>>
>> From: Wayne Fay [mailto:[EMAIL PROTECTED]
>> Sent: Thu 11/9/2006 2:41 AM
>> To: Maven Users List
>> Subject: Re: Too many jars added to lib?
>>
>>
>>
>> You can certainly do "whatever you want" to your local repo, including
>> "moving" artifacts to a new groupId and modifying the pom.xml files to
>> suit your needs.
>>
>> Changing the groupId is not entirely uncommon -- sometimes you need to
>> build a release of your own project but depend on a SNAPSHOT, and
>> can't wait for a formal release of their code, so you release your own
>> internal non-Snapshot version of the code under your own groupId. Or
>> perhaps you have your own modifications to some open source code
>> library and so you literally have a different artifact than what is
>> being delivered by Central.
>>
>> Wayne
>>
>> On 11/9/06, jiangshachina <[EMAIL PROTECTED]> wrote:
>> >
>> > Hello,
>> > I have an idea, can I install jar files to local repository, and don't
>> use
>> > the artifacts at central repository?
>> > I just use different groupId, but artifactId and version aren't
>> changed.
>> > Namely, before start a project, I install the dependencies firstly.
>> > Because I exactly know which jar is my want, then I can set
>> dependencies
>> > exactly.
>> >
>> > a cup of Java, cheers!
>> > Sha Jiang
>> >
>> >
>> > jiangshachina wrote:
>> > >
>> > > 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#a7253724
>> > 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]
>>
>>
>>
>>
>>
>>
> 
> ---------------------------------------------------------------------
> 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#a7270395
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