Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Nexus/Maven-针对。。。缺少,没有可用的依赖项信息_Java_Maven_Pom.xml_Nexus - Fatal编程技术网

Java Nexus/Maven-针对。。。缺少,没有可用的依赖项信息

Java Nexus/Maven-针对。。。缺少,没有可用的依赖项信息,java,maven,pom.xml,nexus,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

在构建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
一旦我有了许多组件项目,并且发布版本都是常量,当编译使用这些组件的项目时,我会收到很多类似的警告

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

问候,

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

例如,为了仅维护my component项目的2个最新版本,应遵循以下步骤以避免出现maven[警告]消息:

1.从存储库中删除版本 您应该向存储库中添加一个任务,以维护唯一的n发布iTen。这可以通过以下方式实现:

  • 转到Sonatype Nexus>管理>计划任务>添加
  • 将“任务类型”设置为“从存储库中删除发布”
  • 设置您自己的参数(电子邮件、重复性等)
2.重建maven元数据文件 这个问题的“王牌”是重建maven元数据文件(maven metadata.xml),一旦它们要维护旧版本信息,直到它们要重建为止。这可以通过以下方式实现:

  • 转到Sonatype Nexus>管理>计划任务>添加
  • 将“任务类型”设置为“重建Maven元数据文件”
  • 设置您自己的参数(电子邮件、重复性等)
  • 注意:此任务必须在“从存储库中删除版本”之后运行
3.本地存储库 现在,本地存储库需要知道元数据文件已更新。这可以通过以下参数完成:

  • mvn-U:

    -U、 --更新快照强制检查已更新的快照 远程服务器上的发布和快照

  • 例如:

    mvn-U清洁包装

工具书类

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

export MVN_SETTINGS=~/.m2/settings.xml 

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

版本不应被删除,因为版本是不可变的。如果你已经删除了它们,你可以检查它们是否在nexus垃圾桶中,否则你应该有一个很好的备份。如果这些工件来自其他存储库,比如Maven Central,您可以打开对Central的访问,只需重新构建需要它们的项目,就可以再次下载。在我的情况下,我不需要保留旧版本并支持回滚。看一看:Nexus方面还可以。但是maven客户端向我展示了这些警告,你的nexus中没有这些警告,这表明你需要它们,这意味着你不应该删除它们。解决方案:重新生成使用它们的项目(如果它们来自其他存储库)。警告意味着您需要它们,但您的存储库中没有它们。一旦这些工件不公开,我就不会在其他存储库中有它们。。。还有其他选择吗?我还尝试删除本地存储库,但没有任何更改。。。