gpt4 book ai didi

java - Nexus/Maven - 缺少...的 POM,没有可用的依赖信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:40 26 4
gpt4 key购买 nike

在构建我的 maven java 项目时,我遇到了一堆警告,例如“...的 POM 丢失,没有可用的依赖信息”。

Artifact 存储在我们公司托管的 Nexus 服务器中。在我在 Nexus 中安排任务“从存储库中删除版本”以清理它并仅维护最后 2 个版本后,问题就开始了。

因此,我收到了有关已删除的旧版本的警告:

[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

一旦我有很多组件项目并且发布是常量,当编译一些使用这些组件的项目时,我会收到很多这样的警告。

你们有没有提出一些方法来避免这些警告或在客户端执行一些可以重新解析或重新索引依赖项的目标?

问候,

最佳答案

Sometimes Releases are Disposable

如上文所述,根据您的业务,您可能不需要将旧版本存储在自己的存储库中。我也在这个场景中。

例如,为了仅维护我的组件项目的最后 2 个版本,应遵循一些步骤以避免 maven [WARNING] 消息:

1. 从仓库中删除发布

您应该向您的存储库添加一个任务来维护唯一的 n 发布项目。这可以通过以下方式完成:

  • 转到 Sonatype Nexus > 管理 > 计划任务 > 添加
  • 将“任务类型”设置为“从存储库中删除发布”
  • 设置您自己的参数(电子邮件、定期等)

2.重建maven元数据文件

这个问题的“王牌”是重建 Maven 元数据文件 (maven-metadata.xml),一旦他们要维护旧版本信息,直到他们将要重建。这可以通过以下方式完成:

  • 转到 Sonatype Nexus > 管理 > 计划任务 > 添加
  • 将“任务类型”设置为“重建 Maven 元数据文件”
  • 设置您自己的参数(电子邮件、定期等)
  • 注意:此任务必须在“从存储库中删除发布”之后运行

3.本地仓库

现在,本地存储库需要知道元数据文件已更新。这可以通过参数来完成:

  • mvn -U:

    -U,--update-snapshots 强制检查更新 远程发布和快照

  • 例如:

    mvn -U 清理包

引用资料

关于java - Nexus/Maven - 缺少...的 POM,没有可用的依赖信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28349129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com