• 场景描述
  • 解决方案
  • 下载依赖包多次失败导致后续依赖下载停止
  • 检查Idea的Maven配置
  • 删除项目信息
  • 使用脚本清除下载失败的依赖
  • 检查Mavn镜像仓库配置
  • 检查依赖坐标是否正确
  • 下载依赖安装到本地
  • 重新下载Maven


场景描述

Maven提示无法解析依赖

相关依赖爆红

Maven构建报错:Failed to read artifact descriptor for jar、Could not find artifact

一番刷新,重新下载依赖、clean、compile等操作均无效,依赖始终不能被识别

maven怎么解析jar包依赖 maven无法解析依赖_intellij idea

解决方案

下载依赖包多次失败导致后续依赖下载停止

出现以下类似情况,则说明下载Jar包失败

Could not transfer artifact org.glassfish:javax.el:pom:3.0.1-b06-SNAPSHOT

1.请查看下文方案:检查Mavn镜像仓库配置 尝试解决

2.当时报错有个提示,说从某某仓库下载该Jar包失败,访问该提示仓库发现确实不存在,请查看下午方案:下载依赖安装到本地尝试解决

3.核心:当Mavn下载Jar失败一定次数后就不会继续下载导致很多依赖没有下载下来,故所有依赖一片红色,访问本地仓库,找到该Jar位置,将 *.pom.lastupdate修改为*.pom(注意:此方式不可取,建议找到相关依赖进行排除解决),然后执行常规操作(刷新,重加载)会发现开始下载相关依赖,完成后关闭项目重新进入,问题解决。

javax.el-3.0.1-b06-SNAPSHOT.pom.lastupdate =》javax.el-3.0.1-b06-SNAPSHOT.pom

检查Idea的Maven配置

maven怎么解析jar包依赖 maven无法解析依赖_json_02

删除项目信息

退出IDEA,删除项目产生的.idea目录、projectName.iml文件,重新进入IDEA打开项目

使用脚本清除下载失败的依赖

使用脚本一键清除Maven仓库下载失败的jar包,创建Mavn-Clear.bat脚本,内容如下:

set REPOSITORY_PATH=D:\Development\Maven\repository
rem 正在搜索无效依赖......
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s /q %%i
)
rem 清理无效依赖成功......
pause

注意:文件编码问题,若乱码,可根据操作系统不同设置对应编码,如window需设置文件编码为GBK

检查Mavn镜像仓库配置

查看Mavn的Config目录下的settings.xml文件,检查其镜像仓库配置,尽量多配置几个maven仓库

<!-- 阿里云仓库 -->
    <mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

    <!-- 中央仓库1 -->
    <mirror>
      <id>repo1</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo1.maven.org/maven2/</url>
    </mirror>

    <!-- 中央仓库2 -->
    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>
  </mirrors>

检查依赖坐标是否正确

访问镜像仓库进行搜索,确保引入依赖存在

如访问:https://mvnrepository.com/搜索fastjson,确认坐标、版本等信息是否与引入依赖坐标版本等信息一致

maven怎么解析jar包依赖 maven无法解析依赖_maven_03


maven怎么解析jar包依赖 maven无法解析依赖_json_04

下载依赖安装到本地

若始终无法下载,直接访问中央仓库(如访问:https://mvnrepository.com/),搜索依赖并下载,然后安装到本地仓库

maven怎么解析jar包依赖 maven无法解析依赖_jar_05

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.0.0 -Dpackaging=jar -Dfile=fastjson-2.0.1.jar

-DgroupId:Jar对应groupId :<groupId>com.alibaba</groupId>

-DartifactId: Jar对应artifactId:<artifactId>fastjson</artifactId>

-Dversion: Jar对应version: <version>1.0.0</version>

-Dfile:安装的Jar:fastjson-2.0.1.jar

最后项目引入

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.0.0</version>
</dependency>

重新下载Maven

疑是maven安装目录东西缺失,故重新下载安装

访问https://maven.apache.org/download.cgi下载最新Maven

访问https://maven.apache.org/docs/history.html选择需要版本下载Maven