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

Dan*_*ñoz 7 java nexus pom.xml maven

在构建我的maven java项目时,我面临着一系列警告,例如"POM for ...缺失,没有可用的依赖信息".

工件存储在我们公司托管的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
Run Code Online (Sandbox Code Playgroud)

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

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

问候,

Dan*_*ñoz 5

有时发布是一次性的

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

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

1.从存储库中删除版本

您应该向存储库添加一个任务,以维护唯一的n版本.这可以通过以下方式完成:

  • 转至Sonatype Nexus>管理>计划任务>添加
  • 将"任务类型"设置为"从存储库中删除发布"
  • 设置您自己的参数(电子邮件,重复发生等)

2.重建maven元数据文件

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

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

3.本地存储库

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

  • mvn -U:

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

  • 例如:

    mvn -U清洁包

参考