解决maven编译在nexus上找不到jar包问题

解决maven编译在nexus上找不到jar包问题

前言

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。

需求背景

使用gitlab项目发布到服务器的时候都需要先进行编译,公司使用nexus作为maven管理。

问题发现

再服务器编译过程中,找不到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

方法二

如果上述方法还没有解决你的问题,可以看下本地maven仓库是否有对应的包,查看setting.xml配置文件中,找到<localRepository>标签所对应的本地仓库路径。

在这里插入图片描述
然后将你的Jar包放到对应的目录中,重新执行mvn clean install -U命令即可。

方法三

如果你配置文件中使用的公共镜像,比如:aliyun镜像,但是本地maven仓库有了jar包,编译时仍然访问aliyun仓库导致报错。

在这里插入图片描述
你可以查看本地仓库的jar包目录中是否包含_remote.repositories文件。

  1. 你可以删除这个文件

  2. 或重新编辑此文件,如图

在这里插入图片描述

  1. 重新执行mvn clean install 命令
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值