I recall there was an issue with some Aether version and large
dependency trees. This had an impact on one (or maybe several) of the
Maven 3.0.x versions. But if you're using the latest (3.0.4) it has
been fixed. Are you?

/Anders

On Thu, Oct 11, 2012 at 8:07 AM, Ron Wheeler
<rwhee...@artifact-software.com> wrote:
> On 11/10/2012 1:40 AM, Wang, Simon wrote:
>> Hi, Barrie,
>>    That's really helpful!
>>
>>    Even I have local cache, it also takes about 2 mins to resolve 
>> dependencies.
> What is it doing during this time. Run maven with a detailed log to see
> each step.
>
> You might want to break your project up into modules that are smaller
> and have fewer dependencies in each one.
>
>>    Also it seems maven still will talk with remote maven server even I have 
>> local cache.
> It will talk to your Nexus and you need to make sure that your POMs or
> settings.xml do not refer to any other Maven Repo besides your Nexus.
>>    Yes, maybe it's caused by unspecified version numbers for dependencies.
>>
> Specify your versions on all dependencies
>>    I'll try maven-enforcer-plugin.
> Not sure how this will help with performance.
>>
>>    We're using nexus now, haven't tried MRM, I'll host it and compare it to 
>> nexus.
> Nexus is an MRM.
>>
>>    And I saw aether(major in dependency resolving) will take longer time to 
>> resolve conflict dependencies.
>>    Is it also a point that need to be improved?
>>    Do you know is there any maven plugin to identify conflict dependencies?
>
> The Eclipse IDE will do this with the m2 Eclipse plug-in. We use STS
> which is Eclipse fully loaded with everything that you need to use Maven.
>
> This is not likely going to cause a big performance hit.
>> Regards
>> Simon
>>
>> -----Original Message-----
>> From: Barrie Treloar [mailto:baerr...@gmail.com]
>> Sent: 2012年10月11日 11:48
>> To: Maven Users List
>> Subject: Re: How to optimize maven dependencies to get better performance?
>>
>> On Thu, Oct 11, 2012 at 1:46 PM, Wang, Simon <yunfeng.w...@ebay.com> wrote:
>>> Hi,
>>>    We're in trouble of terrible performance on resolve maven dependencies.
>>> I did some search about it. Basically below ways should be helpful:
>>>
>>> 1. optimize nexus server to improve response time.
>>> 2. optimize maven dependencies.
>>>   1) avoid duplicated dependencies
>>>   2) avoid dependency conflict cases
>>>   3)....
>>>
>>> Any others suggestions?
>> What specifically is your problem?
>>
>> I can only guess at what you mean.
>> I'm assuming that when you run "mvn install" that maven is reaching out to 
>> check for new dependencies which can be time consuming, especially with an 
>> empty ~/.m2/repository local cache.
>> After the first install this shouldn't be a problem.
>>
>> Firstly make sure that you do not define additional "repository" in either 
>> your settings.xml or pom.xml.
>> Every dependency will be checked against all repositories defined.
>> So just by defining one extra repository will double the time it takes to 
>> check dependencies.
>> There is no logic in Maven to blacklist/whitelist what artifacts are located 
>> where, this is one reason why you use a Repository Manager.
>> You can see that if you declare repositories in your pom.xml and this is 
>> published how it will affect everyone that includes your artifacts.
>> Please don't do that.
>>
>> Secondly, make sure you lock down all version numbers of dependencies.
>> It is bad practice to not specify these as it makes your build 
>> non-reproducable.
>> This could also be a reason why it is slow as Maven will need to check 
>> periodically to see if new versions are available.
>> You can use maven enforcer
>> (http://maven.apache.org/plugins/maven-enforcer-plugin/) to ensure that you 
>> have no unversioned artifacts.
>>
>> Thirdly, install a Maven Repository Manager (Nexus is one).
>> This will act as a local proxy and make downloading times much faster.
>> It also provides an aggregation point, so that there is only one repository 
>> to check each artifact for and the Repository Manager will hide checking the 
>> other repos MRMs also allow you to do whitelist/blacklist stuff to improve 
>> performance.
>> If you are in a corporate environment you really want an MRM installed.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>> For additional commands, e-mail: users-h...@maven.apache.org
>
>
> --
> Ron Wheeler
> President
> Artifact Software Inc
> email: rwhee...@artifact-software.com
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to