Java Nexus/Maven-针对。。。缺少,没有可用的依赖项信息
在构建maven java项目时,我面临着一系列警告,如“缺少…的POM,没有可用的依赖信息” 工件存储在我们公司托管的Nexus服务器中。问题是在我在Nexus中安排了一项任务“从存储库中删除版本”之后开始的,目的是清理它并只维护最近的两个版本 因此,对于旧的已删除版本,我收到以下警告: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
[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>管理>计划任务>添加
- 将“任务类型”设置为“从存储库中删除发布”
- 设置您自己的参数(电子邮件、重复性等)
- 转到Sonatype Nexus>管理>计划任务>添加
- 将“任务类型”设置为“重建Maven元数据文件”
- 设置您自己的参数(电子邮件、重复性等)
- 注意:此任务必须在“从存储库中删除版本”之后运行
- mvn-U: -U、 --更新快照强制检查已更新的快照 远程服务器上的发布和快照
- 例如: mvn-U清洁包装
设置.xml
,即在bash中导出:
export MVN_SETTINGS=~/.m2/settings.xml
当您无法从internet下载依赖项时,通常会出现此警告。版本不应被删除,因为版本是不可变的。如果你已经删除了它们,你可以检查它们是否在nexus垃圾桶中,否则你应该有一个很好的备份。如果这些工件来自其他存储库,比如Maven Central,您可以打开对Central的访问,只需重新构建需要它们的项目,就可以再次下载。在我的情况下,我不需要保留旧版本并支持回滚。看一看:Nexus方面还可以。但是maven客户端向我展示了这些警告,你的nexus中没有这些警告,这表明你需要它们,这意味着你不应该删除它们。解决方案:重新生成使用它们的项目(如果它们来自其他存储库)。警告意味着您需要它们,但您的存储库中没有它们。一旦这些工件不公开,我就不会在其他存储库中有它们。。。还有其他选择吗?我还尝试删除本地存储库,但没有任何更改。。。