artifactory分类器元数据快照maven 3.0

问题描述:

我的问题是“简单”,但我直到现在还没找到解决方案:artifactory分类器元数据快照maven 3.0

我有2个项目。

  • 项目A 内置分类(称为开发或Pro)特定简
  • 项目B的帮助与依赖至A(使用分类开发或Pro)

  • 我执行安装上的一个目标与分类(开发

  • 重新执行与另一分类(

然后我编译B类项目 安装目标(我把依赖于A,与分类DEV)

它效果很好。


但是,当我做同样的artifactory的(目标部署),它doesn't工作 (和库配置 “独一无二”)

它doesn't工作因为artifactory? maven依赖? 正试图下载 A与分类器dev 最新的时间戳,任何 buildnumber。

但是,这个“逻辑”是错误的,因为最新的时间戳是有效的分类专业!

我读取本地存储库和artifactory存储库之间的metadata.xml。有类似的(但不完全一样)

我错了什么? 谢谢你们!

  • Maven的版本:3.03
  • Artifactory的版本:2.3.4.1

这可能是由于,在写这个答案的时候,Artifactory的产生的Maven 2类型的元数据,事实上这与Maven 3生成的新类型不同,它没有为每个分类器类型的Artifact指定单独的“最新版本”。

也就是说,虽然Maven的2元数据指定的最新版本和已知的历史:

<?xml version="1.0" encoding="UTF-8"?> 
    <metadata> 
     <groupId>org.jfrog.test</groupId> 
     <artifactId>multi1</artifactId> 
     <version>2.1-SNAPSHOT</version> 
     <versioning> 
     <snapshot> 
      <timestamp>20110928.112713</timestamp> 
      <buildNumber>14</buildNumber> 
     </snapshot> 
     <lastUpdated>20110928112718</lastUpdated> 
     </versioning> 
    </metadata> 

的Maven 3指定每个工件类型和分类器的最新版本:

<?xml version="1.0" encoding="UTF-8"?> 
<metadata> 
    <groupId>org.jfrog.test</groupId> 
    <artifactId>multi1</artifactId> 
    <version>2.1-SNAPSHOT</version> 
    <versioning> 
    <snapshot> 
     <timestamp>20110928.112713</timestamp> 
     <buildNumber>14</buildNumber> 
    </snapshot> 
    <lastUpdated>20110928112718</lastUpdated> 
    <snapshotVersions> 
     <snapshotVersion> 
     <classifier>tests</classifier> 
     <extension>jar</extension> 
     <value>2.1-20110928.112713-14</value> 
     <updated>20110928112713</updated> 
     </snapshotVersion> 
     <snapshotVersion> 
     <extension>pom</extension> 
     <value>2.1-20110928.112713-14</value> 
     <updated>20110928112713</updated> 
     </snapshotVersion> 
     ... 
    </snapshotVersions> 
    </versioning> 
</metadata> 

支持Maven的3元目前Artifactory的下一个版本(2.3.5)目前为planned
在此之前,我只能建议您生成具有不同工件ID的工件。

+0

感谢您的快速回答。 – user973098

+0

我会等待下一个版本的artifactory。理解RTFACT-3794和这个问题之间的关系并不容易(当然对我来说)。 – user973098