You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Anton Smeenk (JIRA)" <ji...@codehaus.org> on 2012/08/09 16:07:21 UTC

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306038#comment-306038 ] 

Anton Smeenk commented on MNG-5324:
-----------------------------------

I added a path file. I will write a test for this problem. For this test a Nexus server should be running with a repository named "test-snapshots".

                
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java, DefaultVersionResolver.patch
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306025#comment-306025 ] 

Robert Scholte commented on MNG-5324:
-------------------------------------

Anton,

could you attach your fix as a patch/diff file?
if you could write a test too, we would really appreciate it.
                
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=312407#comment-312407 ] 

Robert Scholte commented on MNG-5324:
-------------------------------------

Anton,

I've written a junit-test, committed in [r1402675|http://svn.apache.org/viewvc?rev=1402675&view=rev]. These tests succeed, so it seems that the problem is somewhere else.
My idea is that the classified jar already got the wrong uniqueVersion when it entered this method. So we need to figure out where.

                
> 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
>            Assignee: Robert Scholte
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java, DefaultVersionResolver.patch
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anton Smeenk updated MNG-5324:
------------------------------

    Attachment: DefaultVersionResolver.patch
    
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java, DefaultVersionResolver.patch
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306022#comment-306022 ] 

Anton Smeenk edited comment on MNG-5324 at 8/12/12 7:33 AM:
------------------------------------------------------------

Figuring out how to attach a file ...
                
      was (Author: antonsmeenk):
    Changed by Anton Smeenk to show how to solve this issue
                  
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java
>
>
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306021#comment-306021 ] 

Anton Smeenk commented on MNG-5324:
-----------------------------------

Hello guys,

i did do some debugging and I think I found the error.

The bug is in module maven-aether-provider in function resolveVersion.

This function is entered sometimes with an artifact with a snapshot version which ends on "SNAPSHOT".
Sometimes it is entered with the shapshot artifact version with the timestamp in its name.

If I replace the name of the version with the base version (effectively always using the version ending on SNAPSHOT
it works (almost)

A second bug is in one of the merge functions. I noticed that sometimes the content of the infos map is partly destroyed by the merge function.

With these 2 small changes maven can resolve now artifacts with different classifiers and different timestamps.

Attached is the file I modified, still with some logging on warning level you have to remove of course.
The original file is douwloaded from svn on 12/8/2012.

Thanks Anton Smeenk
                
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306100#comment-306100 ] 

Robert Scholte commented on MNG-5324:
-------------------------------------

IMO this can/should be solved without a repository manager. With the right mock and stubs we should be able to reproduce this issue and fix it.
                
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java, DefaultVersionResolver.patch
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte updated MNG-5324:
--------------------------------

    Description: 
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:
{code:xml}
 <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>
{code}

  was:
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>


    
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anton Smeenk updated MNG-5324:
------------------------------

    Attachment: DefaultVersionResolver.java
    
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java
>
>
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306023#comment-306023 ] 

Anton Smeenk commented on MNG-5324:
-----------------------------------

Previous comment has the file \workspace\maven\maven-3.0.4\maven-aether-provider\src\main\java\org\apache\maven\repository\internal\DefaultVersionResolver.java 
attached.
Anton Smeenk
                
> 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
>         Attachments: DefaultVersionResolver.java
>
>
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306023#comment-306023 ] 

Anton Smeenk edited comment on MNG-5324 at 8/12/12 7:35 AM:
------------------------------------------------------------

Attqached is  the file \workspace\maven\maven-3.0.4\maven-aether-provider\src\main\java\org\apache\maven\repository\internal\DefaultVersionResolver.java 


Anton Smeenk
                
      was (Author: antonsmeenk):
    Previous comment has the file \workspace\maven\maven-3.0.4\maven-aether-provider\src\main\java\org\apache\maven\repository\internal\DefaultVersionResolver.java 
attached.
Anton Smeenk
                  
> 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
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java
>
>
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Anton Smeenk (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anton Smeenk updated MNG-5324:
------------------------------

    Attachment: DefaultVersionResolver.java

Changed by Anton Smeenk to show how to solve this issue
                
> 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
>         Attachments: DefaultVersionResolver.java
>
>
> 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

        

[jira] (MNG-5324) Incorrect parsing of metadata by Maven: Cannot find snapshot artifact with older timestamp

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MNG-5324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte reassigned MNG-5324:
-----------------------------------

    Assignee: Robert Scholte
    
> 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
>            Assignee: Robert Scholte
>         Attachments: DefaultVersionResolver.java, DefaultVersionResolver.java, DefaultVersionResolver.patch
>
>
> 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:
> {code:xml}
>  <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>
> {code}

--
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