- 前言
- 需求背景
- 问题发现
- nexus上找不到jar包问题
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
需求背景使用gitlab项目发布到服务器的时候都需要先进行编译,公司使用nexus作为maven管理。
问题发现 nexus上找不到jar包问题在编译过程中,报如下错误,导致无法正常编译(大概意思就是没有找到这个jar包)。
[ERROR] Failed to execute goal on project xxx-project: Could not resolve dependencies for project com.runwu.newpay:xxx-project:jar:1.0-SNAPSHOT: Failure to find com.xxx:jar:2.0.8 in http://192.168.xx.xxx:8081/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -> [Help 1]
然后我去nexus上找发现,真的没有,就手动把这个jar包上传上去,以为万事大吉时,结果还是报这个错,后面又在本地进行编译,发现没问题,后来百度看到一位老哥的文章,在maven编译时加入-U
mvn clean install -U
结果还真的可以。
-U 的解释如下:强制检查丢失的版本以及更新远程存储库上的快照
-U,--update-snapshots Forces a check for missing releases and updated snapshots on remote repositories
还有一种方法,去nexus找到:先 Update Index → Expire Cache。更新索引的话就会很慢



