[ 
https://issues.apache.org/jira/browse/MNG-7049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17279326#comment-17279326
 ] 

Xiang Li commented on MNG-7049:
-------------------------------

[~michael-o] thanks for the reply, the inefficient does cause lot of trouble 
while you have tons development versions in certain range. Also it can be 
fragile if there are some "bad" poms.
 I looked both 
[DefaultVersionRangeResolver.java|https://github.com/apache/maven/blob/maven-3.6.3/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java]
 and 
[DefaultModelResolver.java|https://github.com/apache/maven/blob/maven-3.6.3/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java]
 (I use maven 3.6.3) but those resolve module seems directly take the highest 
version instead of caching all previous versions' pom. Sorry if I am not 
familiar with maven code, but I wonder if maven will cache all pom files that 
exists metadata.xml if it is not the versionRangeResolver's issue?

> Version range resolution downloads all poms, not just the highest version
> -------------------------------------------------------------------------
>
>                 Key: MNG-7049
>                 URL: https://issues.apache.org/jira/browse/MNG-7049
>             Project: Maven
>          Issue Type: Improvement
>          Components: core
>            Reporter: Moti Nisenson-Ken
>            Priority: Major
>
> When specifying a version range for a dependency, maven will download and try 
> to resolve all poms in that range which satisfy the range. The usage however 
> is only to use the highestVersion. This causes two issues:
>  # Performance - it's downloading numerous poms that aren't needed.
>  # Fragility - if the version range covers any "bad" poms, then the build 
> will fail. For example, consider that for a specific version, the parent of a 
> pom is not present in the repository. This is enough to fail any build with a 
> version range covering that specific version, as the range resolution stage 
> will not complete. This is particularly harmful when that version would not 
> be selected as the highest, anyway.
> Recommend to have a system property to control the desired behavior - it 
> should be possible to short-circuit loading all the versions and to just to 
> load the highest version.
> For another user report of this see: 
> [https://stackoverflow.com/questions/25047859/restrict-maven-to-not-download-all-poms]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to