彻底生活:饱满的投入到自己热爱的事情中
序
随着微服务技术的盛行,项目越做越大,拆分出来的 module 也越来越多,每个module都有自己独立特有的依赖,依赖的维护方案是项目开始的重要问题。最近就是刚到一个新的项目组,由于网络原因导致二十几个module下的依赖爆红。下面简单讲下解决思路。
1. 检查conf下的settings.xml文件
主要是检查 仓库的位置 和镜像源的配置
仓库位置:依赖都会下载指定为文件路径下,一定保证路径在本地环境可达。
镜像源配置:可配置多个,主要检查公司的镜像源配置是否真确。
最后确保IDE工具里maven使用的配置文件是正确的settings
<!-- 检查仓库位置是不是正确的-->
<localRepository>D:\work_env\repo</localRepository>
<!-- 配置镜像 国内用阿里会比较快些-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
2. 删除.lastUpdated后缀的文件
下图所示,这些依赖文件都是以.lastUpdated结尾,这些文件存在之后maven就认为依赖更新下来了,但是这不是我们要的。我们需要删除这些文件,重新导入依赖。
我这次遇到的是6500+个这样的文件,为了方便删除整理成了脚本文件。
忘记了可以随时来着瞅一眼
-
Windows 下:到刚刚配置的localRepository目录下执行下面的shell
for /r %i in (*.lastUpdated) do del %i
-
Linux下:
find 【localRepository 】 -name "*.lastUpdated" -print -exec rm {} ; # localRepository 为settings.xml 设置仓库的位置
2. 删除本地仓库中文件
尝试过上述两种方案之后应该可以解决大部分依赖问题,如果还是有部分依赖导入失败的话可以去本地仓库的对应位置【如下图所示】找到对应的版本将文件夹删除,之后在IDE工具重新导入。
祝每一位编码人都能彻底的生活。