maven无法通过我的本地nexus存储库解析依赖关系

问题描述 投票:0回答:4

我已经设置了一个内部的Sonatype Nexus存储库,并配置maven来检查我的本地Nexus,而不是直接从公共存储库获取工件。 http://www.sonatype.com/books/nexus-book/reference/config-sect-intro.html

我们的项目能够下载除Maven中心的一个工件之外的大多数工件。

以下是构建错误:无法在项目shindig-gadgets上执行目标:无法解析项目org.apache.shindig的依赖项:shindig-gadgets:jar:3.0.0-SNAPSHOT:找不到工件com.ibm.icu: icu4j:jar:4.6 in nexus(http://my_nexus_repository:8081/nexus/content/groups/public) - > [帮助1]

我看到icu4j-4.6.jar确实存在于Maven中央存储库中。在我的本地nexus存储库中,它不存在。我看到我的本地nexus存储库中只存在icu4j-4.6.pom。

这不像我的nexus存储库设置完全被破坏了。 maven项目已成功通过我的本地nexus maven存储库从icu4j-4.6.jar下载了多个公共存储库中的大量jar文件。

我不明白为什么我只有icu4j-4.6.jar的问题。它会被错误地缓存在我的本地maven或nexus maven存储库中吗? 如果它被错误地缓存,我该如何清理本地maven或nexus maven存储库?

类似的问题在Missing maven dependency using nexus setup icu4j-4.6中描述.jar没有出现在搜索列表中。只有icu4j-4.6.pom出现在搜索列表中。我不认为是Snapshot VS Release问题,因为icu4j-4.6.jar似乎是发布jar。

maven nexus sonatype
4个回答
0
投票

nexus repo有可能暂停了一段时间吗?您可以尝试使用mvn -X(或-d?)来获取有关正在进行的操作的详细信息。您也可以尝试配置备用仓库。


0
投票

也许你没有从Maven Central启用remote index downloads。这可以解释为什么只有POM文件出现在本地搜索中(唯一通过代理仓库下载的文件)。

可能还有另一个问题导致jar本身的下载失败....我想尝试一次解决一个问题:-)


0
投票

尝试将-U添加到mvn参数以强制更新本地存储库。

您还可能在repo中损坏元数据。在这种情况下,从repo的缓存中删除该工件并让它刷新。


0
投票

如果有问题的工件从代理存储库中正确缓存,则使用maven -U将解决问题

但是,如果您在nexus上看到pom,则通常会在代理存储库中的工件未正确缓存时发生。解决的方法是

1)浏览到代理存储库中的组件。

2)使存储库的缓存无效并重新索引Nexus存储库。

3)运行mvn clean -U

© www.soinside.com 2019 - 2024. All rights reserved.