将源上传到nexus会使快照依赖项无法用于maven

时间:2017-03-22 16:55:27

标签: java maven nexus

当我们mvn install deploy到存储库${repository-jars}时,其他人可以按预期使用这些依赖关系。

当我们之后将源代码上传到另一个存储库${repository-sources}时,不再正确解析依赖关系。

mvn deploy:deploy-file 
   -DgroupId=foo 
   -DartifactId=bar 
   -Dversion=1.0-SNAPSHOT 
   -Dfile=target/bar-sources.jar 
   -Dpackaging=jar 
   -Durl=${url} 
   -Dclassifier=sources 
   -DrepositoryId=${repository-sources}

nexus中的所有内容都是正确的,并且这两个存储库都可以在常规Repository Group中使用。

假设是maven尝试使用最新上传的工件并最终下载sources jar,而忽略了classes修饰符。这是通过首先上传来源验证,然后然后执行maven deploy按预期工作。

允许我们在部署后运行的单独作业中上传源的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在考试中,Maven正在创建两个不同的快照,当您尝试获取最新信息时,它会从您已设置的组中获取最新的快照(即来源)。

您可能会尝试将它们放在同一个仓库中,然后使用Content Selectors将它们分开。这是Nexus Repository 2的新版Repo Targets。