maven学习--maven编译时包无法下载的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33429968/article/details/53438712

前言

今天在编译运行一个maven项目时编译失败,查看了一下报错原因,如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (checkstyle) on project labmanagement: Execution checkstyle of goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check failed: Plugin org.apache.maven.plugins:maven-checkstyle-plugin:2.17 or one of its dependencies could not be resolved: Could not transfer artifact com.google.guava:guava:jar:18.0 from/to central (https://repo.maven.apache.org/maven2): GET request of: com/google/guava/guava/18.0/guava-18.0.jar from central failed: Premature end of Content-Length delimited message body (expected: 2256213; received: 1899614 ->

截图如下:
failure

问题来源

那一大段报错说了个什么事

就是一句话:maven-resources-plugin:2.5的相关依赖无法解决,更直白一点说就是要下载的包无法下载

原因是什么

通过上网查询资料和询问老师学长,总结出一下几个可能的原因:
a.网络不稳定(网络不好时maven在下载时经常会出错);
b.maven的中央仓库不稳定,导致要下载的包暂时无法访问等等;
c.要下载的包在maven的本地仓库已经有了,但是下载不完整或者是残缺(这通常也是由于网络不好导致),导致无法使用(原因:maven在下载需要的包时,它首先会查看本地是否已经有了要下载的包,如果它发现本地已经有了要下载的包,它就会主动选择使用本地的包,不会再去远程仓库下载了,但是本地的包由于各种原因导致不完整或者残缺,所以找到后没法使用,自然就会报错了),也会出错。

如何解决

解决方法一(针对a,b两种情况)

解决的方法就很简单了,手动下载该maven-resources-plugin-2.5.jar包,然后手工创建~/.m2/repository/org/apache/maven/plugins/maven-resources-plugin/2.5目录,并将该jar包移动到该目录下即可。
如下图:
jar

解决方法二(针对c情况)

将本地的那个已经下载下来的残缺的包或目录手动删掉,然后在maven compile或者手动下载一个完整的该包。

参考资料

http://stackoverflow.com/questions/12533885/could-not-calculate-build-plan-plugin-org-apache-maven-pluginsmaven-resources

总结反思

遇到问题要学会问一下为什么,以后要养一个习惯:解决一个问题之前先明白造成问题的原因;还有多分析多总结,逐步学会举一反三。

猜你喜欢

转载自blog.csdn.net/qq_33429968/article/details/53438712
今日推荐