Anton Smeenk created MNG-5324:
---------------------------------

             Summary: Incorrect parsing of metadata by Maven: Cannot find 
snapshot artifact with older timestamp
                 Key: MNG-5324
                 URL: https://jira.codehaus.org/browse/MNG-5324
             Project: Maven 2 & 3
          Issue Type: Bug
          Components: Artifacts and Repositories
    Affects Versions: 3.0.4
            Reporter: Anton Smeenk


Maven can only retrieve an artifact from Nexus with a classifier with latest 
timestamp.
Artifacts with classifiers with an older timestamp cannot be resolved.
For example. If I deploy an artifact Apple with classifier A and a bit later 
deploy the same artifact with classifier B.

Next I want to retrieve the artifacts from Nexus:
For a module Banana, which needs Apple with classifier A the Artifact resolver 
will fail.
For a module Strawberry, which needs Apple with classifier B the Artifact 
resolver will succesfully resolve the artifact.

I found the cause for this behaviour:
With an proxy between Maven and Nexus I could see the behavour of Maven, at the 
moment that I want to fetch an artifact:

First the metadata.xml is fetched from Nexus. This file does contain the 
timestamp of the latest artifact in nexus and all timestamps of older 
artifacts, with different classifier.

>From this metdata file Maven figures out what the correct name is for the 
>artifact.
But Maven can resolve the name of classifierb, but not the name of classifierB. 
The metadata is not correctly parsed! All information is there, but still Maven 
can only find the artifact with the latest timestamp.

Here is an example of an metadata file:
 <metadata modelVersion="1.1.0">
  <groupId>com.ccv.systems.modules.gen_modem</groupId> 
  <artifactId>modem</artifactId> 
  <version>07.20.3-SNAPSHOT</version> 
 <versioning>
 <snapshot>
  <timestamp>20120809.112920</timestamp> 
  <buildNumber>97</buildNumber> 
  </snapshot>
  <lastUpdated>20120809112920</lastUpdated> 
 <snapshotVersion>
  <classifier>classsifierA</classifier> 
  <extension>jar</extension> 
  <value>07.20.3-20120809.112124-88</value> 
  <updated>20120809112124</updated> 
  </snapshotVersion>
 <snapshotVersion>
  <classifier>classsifierB</classifier> 
  <extension>jar</extension> 
  <value>07.20.3-20120809.112920-97</value> 
  <updated>20120809112920</updated> 
  </snapshotVersion>
  </snapshotVersions>
  </versioning>
  </metadata>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to