maven 公共模块依赖_Maven填坑记一

本文介绍了在持续集成环境中,由于未指定-Maven强制更新依赖导致的问题,强调了`-U`参数的重要性。同时,对Maven的定义、项目拆分与聚合思想、坐标定义、仓库以及jar包搜索顺序进行了详细讲解,旨在帮助读者更好地理解和运用Maven进行项目管理。
摘要由CSDN通过智能技术生成

87efce05ab6afee0c2833824c9905ca4.png

持续集成与持续交付渐渐成为不少公司保证交付质量的不二法门,朋友的公司也顺应趋势,通过maven在测试环境上手了一套。在稳定运行了一段时间后,持续集成部分场景下的案例失败率达到100%,排查后发现是由于本地仓库的某个有问题的依赖包导致的,可是公司私库中这个依赖包已经被修复上传,为什么持续集成的机器没有下载呢?让我们一起探索一下吧。

问题定位

原来该持续集成机器采用的命令是mvn clean install XXXX,缺少了一个关键的参数-U,该参数可以强制让maven在每次构建时都检查所有SNAPSHOT依赖是否更新,确保本次构建基于最新的状态。如果没有该参数,maven默认以天为单位检查依赖更新,而持续集成的频率显然比这高很多(通用的做法是代码每次提交都会触发一次构建集成),这就导致了虽然问题已修复的jar包已经上传了私库,但是当天没有触发依赖更新检查,自然该存在问题的jar包就不会被替换了,持续失败也就不可避免了。

让我们看一下正确的构建命令吧。

mvn clean deploy -B -e -U -Dmaven.repo.local=xxx

-U参数前面已经解释过,接下来让我们一起看一下其他参数的含义吧。

  • clean: 删除项目中已经
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值