【发布时间】:2015-04-05 14:42:46
【问题描述】:
在构建我的 maven java 项目时,我遇到了一堆警告,例如“...的 POM 丢失,没有可用的依赖项信息”。
工件存储在我们公司托管的 Nexus 服务器中。在我在 Nexus 中安排一个任务“从存储库中删除版本”以清理它并仅维护最后两个版本之后,问题就开始了。
因此,我收到了有关旧版本的警告:
[WARNING] The POM for xpto:jar:jar:8.16.1 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.17.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.18.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.19.0 is missing, no dependency information available
一旦我有许多组件项目并且版本是常量,当编译一些使用这些组件的项目时,我会收到很多这样的警告。
你们是否提出了一些方法来避免这些警告或在客户端执行一些可以重新解析或重新索引依赖项的目标?
问候,
【问题讨论】:
-
版本永远不应该被删除,因为版本是不可变的。如果您已删除它们,您可以检查它们是否在 nexus Trash 中,否则您应该有一个很好的备份。如果这些工件来自 Maven Central 等其他存储库,您可以打开对 Central 的访问权限,然后重新构建需要它们的项目,以便再次下载它们。
-
就我而言,我不需要保留旧版本并支持回滚。看一下:support.sonatype.com/entries/… Nexus 这边没问题。但是 Maven 客户端正在向我显示警告。
-
您的关系中没有它们,这表明您需要它们,这意味着您不应该删除它们。解决方案:如果它们来自其他存储库,则重建使用它们的项目。警告意味着您需要它们,但您的存储库中没有它们。
-
一旦这些工件不公开,我就没有其他存储库了...还有其他选择吗?
-
我也尝试删除本地存储库,但没有任何改变......