异常现象
maven本地仓库有包,仍然去远程仓库拉取包问题,导致could not find artifact * * * 问题
Maven本地仓库Verifying Availability
maven 仓库有本地仓库、镜像仓库、仓库中心之说
本地仓库地址 /home/jenkins/.m2/repository
镜像仓库地址 nexus http://192.168.30.111:9081/
仓库中心地址 https://maven.aliyun.com/repository/public
maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个文件存在,那么即使换一个有资源的仓库后Maven依然不会去下载新资源
本地maven仓库验证依赖包是否可用它应该是去远程仓库中读取依赖包的信息来跟本地的进行验证
maven在下载依赖包过程中,如果因为某些原因没有成功下载,那么本地就会生成诸如xxx.repositories或 xxx.lastUpdated之类的文件
一旦本地有这些文件,那么就意味着本地的依赖包可能不完整,需要先进行验证是否可用,才能被使用
如何验证呢?自然就是再去这些临时文件中记载的远程仓库重新读取一遍依赖包的相关信息来跟本地比对,确认本地依赖包是否可用。
这也就是为什么,明明开启了 offline 离线模式,明明从其他人那里拷贝了相关依赖包到本地,但构建过程却依据需要联网的原因?因为你本地的依赖包里有这些临时文件,表明本地依赖包可能不是完整包,不能直接被使用,需要先进行验证,自然就需要联网了
这也是本地有依赖包,但每次却又去远程仓库,然后找不到,又报异常的原因
不是说,你本地 Maven 仓库里有依赖包,构建过程就可以优先被使用,你还要确保你本地的依赖包是完整、可用的才行。
如何确认呢?就是依赖包目录中,没有像 xxx.repositories 或 xxx.lastUpdated之类的文件
如果你能确保你的本地依赖包是完整、可用的,那手动将这些文件删掉,构建过程就不会再联网去远程仓库验证了,就可以优先使用本地依赖包了
解决方案
将Maven本地仓库里那个依赖包目录中,将xxx.repositories和xxx.lastUpdated文件删掉,再重新构建项目即可
1.删除本地仓库垃圾文件
2.本地jar包上传到远程仓库
mvn install:install-file -DgroupId=com.zjxf -DartifactId=aspose-words -Dversion=1.0 -Dpackaging=jar -Dfile=C:\Users\wqkeep\Desktop\aspose-words-15.8.0-jdk16.jar