将源上传到 nexus 使快照依赖项对 maven 不可用
Uploading sources to nexus makes snapshot dependencies unavailable to maven
当我们对存储库 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
它按预期工作的地方。
允许我们在部署后运行的单独作业中上传源的正确方法是什么?
在检查中,Maven 正在创建两个不同的快照,当您尝试获取最新快照时,它会从您设置的组中获取最新的快照(即源)。
您实际上可以尝试将它们放在同一个存储库中,然后使用 Content Selectors 将它们分开。这是我们来自 Nexus Repository 2 的更新版本的 Repo Targets。
当我们对存储库 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
它按预期工作的地方。
允许我们在部署后运行的单独作业中上传源的正确方法是什么?
在检查中,Maven 正在创建两个不同的快照,当您尝试获取最新快照时,它会从您设置的组中获取最新的快照(即源)。
您实际上可以尝试将它们放在同一个存储库中,然后使用 Content Selectors 将它们分开。这是我们来自 Nexus Repository 2 的更新版本的 Repo Targets。