第一个方法:删除本地的\repository库中所有.lastupdate后缀文件 以及sha1-in-progress为后缀的文件,重新下载
当我们使用eclipse下载jar包,有事突然退出,再次进入jar包还是下载不起
可能的原因就是 maven没有将jar下载完时,会生成一个.lastupdate文件
在校验sha1码未完成时会生成sha1-in-progress为后缀的文件
解决方法: 使用文件搜索工具(楼主用的是 Everything) 输入.lastupdate删除所有以.lastupdate结尾的文件;
输入sha1-in-progress删除所有以sha1-in-progress结尾的文件。
然后简单修改.pom(比如加空格) 保存,然后eclipse就会重新下载jar包!
=============以下为直接复制参考链接内容================================
第二个办法:maven添加镜像地址,编辑maven根目录中conf文件夹下settings.xml
在 mirrors中增加
ibiblio.org
ibiblio Mirror of http://repo1.maven.org/maven2/
http://mirrors.ibiblio.org/pub/mirrors/maven2
central
jboss-public-repository-group
central
JBoss Public Repository Group
http://repository.jboss.org/nexus/content/groups/public
添加保存后,重新编辑pom文件,加个空格什么的,能下载部分jar包,还是有一些jar不能下载
第三个办法:拷贝相应jar,手动导入本地库
org.springframework
spring-context-support
3.1.0.RELEASE
Maven 安装 JAR 包的命令是:
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversinotallow=上面的version -Dpackaging=jar
=======================以上为直接复制参考联系内容=============================================
如何手动获取jar包,
1、通过 在http://mvnrepository.com/中查询到相应的jar包的, 如查询Sqljdbc4
2、得到如下的maven
com.microsoft.sqlserver
sqljdbc4
4.0
test
可以通过输入http://clojars.org/repo/ 到浏览器,通过groupId 和 artifactId以及版本号,查询到jar包,然后下载到本地即可
其他参考资料
删除所有下载失败的文件:
linux下
~/.m2 -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;
cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
然后右击你的工程,Maven->”Update Project …”,即可解决。
补遗,今天(2019-3-29)在一台A电脑上遇到了一个在eclipse的自带的maven中不能下载的问题。上述方式都尝试了,而我本地B电脑和 A电脑的eclipse(Oxygen.3a Release (4.7.3a) ,Build id: 20180405-1200)版本和自带的maven(3.3.9/18.3.20180227-2135)版本都是一致的。运用各种 -X 也看到结果。后来抱着试一下的心态,从官网下载了最新的maven(3.6.0),然后在项目下用了
E:\tools\maven\apache-maven-3.6.0\bin\mvn -clean -X
结果出现了,定位到了问题是一个pom有问题。在我的环境下是
C:\Users\Administrator\.m2\repository\com\fasterxml\oss-parent\34\oss-parent-34.pom
这个pom有问题。删除之后,重新下载即可。通过对这次问题的处理,得出了在查看环境是否一致的时候,不能只看参数上表征的是否一致,及时一致也不要排除实质上可能存在的问题(可能A电脑上的maven或者eclipse又被损坏)。处理问题时,排查范围与选择工具不能被以前的经验限制了,要多尝试。