IDEA里Maven依赖无法下载的解决办法

1.确认pom.xml中的远程仓库或者nexus私服配置正确

有些项目的pom.xml会配置nexus私服,用于下载一些局域网依赖或者其他公开私服的依赖,请确认这里配置正确。(没有使用远程仓库或本地nexus私服的请跳至下一步~)
当前也可以改为使用一些国内比较好用的仓库镜像配置,如阿里云,从而加快包的下载,不再从官方仓库缓慢下载而导致下载不下来。
项目中pom.xml中的远程仓库配置示例:

  //阿里云搭建了一个国内镜像http://maven.aliyun.com,跑起来速度很快,可以进行配置
    
        
            nexus-aliyun
            nexus-aliyun
            http://maven.aliyun.com/nexus/content/groups/public/
            
                true
            
            
                false
            
        
    

本地maven子目录/conf/settings.xml中settings.xml中配置:


    
    nexus-aliyun
    *
    Nexus aliyun
    http://maven.aliyun.com/nexus/content/groups/public

修改完毕之后,包的下载速度会变快,如果看到进度条还是艰难地从http://repo.maven.apache.org/maven2/ 官方仓库中 download 的话,尝试重启下 IDE 。感谢阿里云为广大代码工作者做出巨大贡献。

2.如果修改了仓库配置后点击compile并刷新后依旧无法下载个别依赖,可以移除本地maven的repository中的相应依赖的下载文件,让其重新下载。

有时候我们依赖下载失效是由于本地已经存在一份失效的依赖下载,导致项目默认从本地的依赖中进行依赖获取而导致项目失效,我们可以通过删除本地的依赖来让项目重新下载依赖。

maven在本地的依赖存储地址为:Default: ${user.home}/.m2/repository
~/.m2/repository
用命令行打开目录可看到所有依赖

repository示例

接下来以json-lib-2.4包为例,通过 cd net/sf/json-lib/json-lib进入包目录下,
删除目录下文件夹 2.4 ,命令为: rm -r 2.4
然后进入IDEA项目中,再次点击Maven dependency中的 compile进行包下载,正常可以下载成功。

3.如果修改了仓库配置,重新下载尝试几次后依旧无法正常使用依赖,需要手动下载依赖,然后覆盖本地maven的repository中的jar包,从而导入依赖。

依赖的下载地址:官方依赖仓库、Repository依赖搜索地址【点进去搜索自己要的依赖然后选择地址进行下载,从而实现依赖的下载】
下载后通过命令行复制到步骤2的repository目录下:
cp 你下载的文件 要到的文件地址
示例:

cp /Users/root/Downloads/json-lib-2.4-jdk15.jar /Users/root/.m2/repository/net/sf/json-lib/json-lib/2.4
4.部分依赖jar包需要添加classifier字段

如上文提到的json-lib-2.4包,我下载下来后为json-lib-2.4-jdk15.jar,这与maven依赖名json-lib-2.4不符,最后maven还是会找不到这个依赖,原因是 jar的名称中多了一个跟JDK相关的名称,例如jdk15,按照上面的配置,明显是找不到这个jar的,于是classifier就有它的用武之地了,它表示在相同版本下针对不同的环境或者jdk使用的jar,如果配置了这个元素,则会将这个元素名在加在最后来查找相应的jar,示例如下:

        
            net.sf.json-lib
            json-lib
            2.4
            jdk15
        

你可能感兴趣的:(java,intellij-idea,maven,java,运维,网络协议)