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的工件。
感谢您的快速回答。 – user973098
我会等待下一个版本的artifactory。理解RTFACT-3794和这个问题之间的关系并不容易(当然对我来说)。 – user973098