解决maven构建报错 Could not find artifact 'xx' in nexus (http://nexus.xxx)

2,413 阅读1分钟

今天在jenkins中构建项目的时候出现了报错,本地构建没有问题

报错信息如下

[ERROR] Failed to execute goal on project policy-info-common: Could not resolve dependencies for project com.htlm.aircom:policy-info-common:jar:1.0-SNAPSHOT: Failed to collect dependencies at com.htlm.aircom:price-data-common:jar:1.0-SNAPSHOT: Failed to read artifact descriptor for com.htlm.aircom:price-data-common:jar:1.0-SNAPSHOT: Could not find artifact com.htlm.aircom:price-data:pom:1.0-SNAPSHOT in nexus (http://nexus.xxx.com/repository/maven-public/) -> [Help 1]

报错原因

  1. 本地项目是否推送到nexus中,根据提示在http://nexus.xxx.com/repository/maven-public/中查找是否存在
  2. 如果存在与nexus中,那么可能会是缓存的原因

解决办法

将原来的mvn package命令改为mvn package -U

说明

-U 意思是:强制刷新本地仓库不存在release版和所有的snapshots版本。

  • 对于release版本,本地已经存在,则不会重复下载
  • 对于snapshots版本,不管本地是否存在,都会强制刷新,但是刷新并不意味着把jar重新下载一遍。 只下载几个比较小的文件,通过这几个小文件确定本地和远程仓库的版本是否一致,再决定是否下载