当我们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
按预期工作。
允许我们在部署后运行的单独作业中上传源的正确方法是什么?
答案 0 :(得分:1)
在考试中,Maven正在创建两个不同的快照,当您尝试获取最新信息时,它会从您已设置的组中获取最新的快照(即来源)。
您可能会尝试将它们放在同一个仓库中,然后使用Content Selectors将它们分开。这是Nexus Repository 2的新版Repo Targets。