在构建我的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
一旦我有许多组件项目并且版本是常量,当编译一些使用这些组件的项目时,我会收到很多类似的警告。
你们有没有提出一些方法来避免这些警告或在客户端执行一些可能重新解析或重新索引依赖项的目标?
此致
答案 0 :(得分:5)
Sometimes Releases are Disposable
如上文所述,根据您的业务,您可能不需要在自己的存储库中存储旧版本。我被包括在这种情况中。
例如,为了维护我的组件项目中的最后两个版本,应该遵循一些步骤以避免maven [WARNING]消息:
您应该向存储库添加一个任务,以维护唯一的 n 版本。这可以通过以下方式完成:
这个问题的“洞中的王牌”是重建maven元数据文件(maven-metadata.xml),一旦他们要维护旧的版本信息,直到他们将要重建为止。这可以通过以下方式完成:
现在,本地存储库需要知道元数据文件已更新。这可以通过参数:
完成mvn -U:
-U, - update-snapshots强制检查更新 远程版本和快照
例如:
mvn -U clean package
答案 1 :(得分:2)
检查您的settings.xml
,即在bash中导出:
export MVN_SETTINGS=~/.m2/settings.xml
当您无法从互联网下载依赖项时,通常会出现此警告。