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

时间:2015-02-05 16:29:54

标签: java maven pom.xml nexus

在构建我的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

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

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

此致

2 个答案:

答案 0 :(得分:5)

Sometimes Releases are Disposable

如上文所述,根据您的业务,您可能不需要在自己的存储库中存储旧版本。我被包括在这种情况中。

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

1.从存储库

中删除版本

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

  • 转到Sonatype Nexus&gt; <给药>预定任务&gt;添加
  • 将“任务类型”设置为“从存储库中删除发布”
  • 设置您自己的参数(电子邮件,重复发生等)

2.重建maven元数据文件

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

  • 转到Sonatype Nexus&gt; <给药>预定任务&gt;添加
  • 将“任务类型”设置为“重建Maven元数据文件”
  • 设置您自己的参数(电子邮件,重复发生等)
  • 注意:此任务必须在“从存储库中删除发布”
  • 之后运行

3.本地存储库

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

完成
  • mvn -U:

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

  • 例如:

    mvn -U clean package

参考

答案 1 :(得分:2)

检查您的settings.xml,即在bash中导出:

export MVN_SETTINGS=~/.m2/settings.xml 

当您无法从互联网下载依赖项时,通常会出现此警告。