1.概述
新接手一个项目,由于甲方对安全性很重视,因此需要在堡垒机上面进行开发。依赖管理方面,使用Nexus进行Maven依赖的管理。
2.问题引入
由于我是中途加入此项目组的,相关人员给我的项目代码版本数和最新的相差了一千多个,当我进行项目更新后,Maven包的相关依赖类通通报错,错误大多是缺失某定义的方法和变量。
3.发生原因
通过在Nexus官网进行横向对比,发现Nexus上最新的依赖并没有更新到本地Maven仓库。
我们知道Maven是基于 pom.xml 文件配置工作的。 当 Maven 执行这个 pom.xml 文件时,将从中央 Maven 存储库下载依赖项并将其放入我们本地的 Maven 存储库 中。如果我们的本地存储库中已有依赖项,Maven 将不会下载它们。
4.解决方法
- 去Nexus上面下载最新依赖包,复制到本地仓库进行替换。
- 使用命令强制更新
idea的ReImport快捷键不会强制更新本地仓库依赖,需要使用命令
mvn package -U
mvn install -U
来进行强制更新。
相关学习链接:
使用Maven强制更新仓库