记得之前有一次在使用CDH版本Hadoop的过程中,采用IDEA编程时有几个jar包死活下载不下来。
原因:
由于cdh版本的所有的软件涉及==版权==的问题,所以并没有将所有的jar包托管到maven仓库当中去,而是托管在了CDH自己的服务器上面,所以我们默认去maven的仓库下载不到,需要自己手动的添加repository去CDH仓库进行下载。
而我这里下载不下来,是因为一方面虽然已经在创建的Maven工程的pom.xml文件中配置了以下的CDH仓库地址:
<repositories>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
</repositories>
但是,我原本Maven的settings.xml文件中却配置了阿里云的仓库地址:
导致一直是去阿里云仓库里面下载,而又找不到对应的Jar包。
解决方案:
maven的settings.xml中的mirror暂时不要用阿里云的,如果已经配置了的就先去掉,因为用的cdh的jar包,只能从cdh自己的仓库下载。
去掉之后,再去Maven本地仓库中把那些下载不下来的jar包的目录文件都删除掉,然后在IDEA中重新导入:
去掉之后的settings文件:
就这样,等待jar包依赖下载下来,问题解决。
总结:
那么,针对在 IDEA 的 Maven 项目中如果有些jar包死活下载不下来的情况,可以从以下三个方面去检查:
方法一:先确认下载依赖jar包所用的镜像对不对。比如我这里用阿里云镜像去下载cdh所特有的jar包就会出现下载不下来的问题。
方法二:也可能是由于网络的原因,导致本地仓库存在下载一半未完成的文件,那么,去本地仓库中把下载失败的jar包的目录文件都删除掉,或者是将仓库中所有包含“lastUpdate”关键字的文件删除,然后刷新idea的maven按钮,进行重新下载。
方法三:如果以上两步确认和执行完之后还是不行的话,按图重启idea: