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

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

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

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

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

<mirror>
    <!--This sends everything else to /public -->
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

修改完毕之后,包的下载速度会变快,如果看到进度条还是艰难地从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,示例如下:

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值