小编M S*_*dhu的帖子

当 Maven 从不同的存储库下载 2 个相同的 jar 时,它如何选择使用哪个 .jar

抱歉,描述太长:

背景:我有 2 个项目,假设 A 和 B。在项目 A 中构建,部署到 Nexus Repository Manager OSS 2.12.0 存储库 A,在项目 B 中构建,部署到 Nexus 存储库 B。我的 maven 项目需要使用两个项目中的 .jar回购 A 和回购 B。

因此,我将 maven.settings 文件配置为使用 2 个不同的 Nexus 存储库(有 2 个镜像)。

现在,我看到当我编译我的maven项目时,它将通过repo A,搜索jar,然后通过repo B,搜索jar。当它找到 jar 时,它将下载它。

问题:我曾经将 Repo B 用于项目 A 和项目 B 的 jar(repo 的所有者将我踢出了)。因此,我现在在存储库 A 和存储库 B 中都拥有相同的组件 0.0.1-SNAPSHOT。

Maven 现在会在编译期间下载这两个快照。

问题:如果两个 .jar 具有相同的名称(例如:componentName-0.0.1-SNAPSHOT),maven 如何解析要使用哪个 .jar?我看到在我的本地 ./m2 存储库中,有一个解析器状态文件,但我不确定它如何在两个 jar 之间解析。理想情况下,我希望 Maven 使用最近更新的(基于时间戳)jar。

java jar nexus dependency-management maven

4
推荐指数
1
解决办法
1246
查看次数

标签 统计

dependency-management ×1

jar ×1

java ×1

maven ×1

nexus ×1