IntelliJ Maven依赖异常:JAR文件未下载
这种情况我之前也碰到过,明明昨天还正常工作,今天就突然出现只下载依赖POM却拉取不到JAR的情况,进而导致代码里一堆“Cannot resolve method/symbol”的报错。给你几个针对性的排查方案,按顺序试试应该能解决:
检查Maven离线模式是否开启
有时候不小心误触打开了离线模式,IDE就只会用本地仓库的缓存,不会去远程仓库下载JAR。你可以通过File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven路径检查,确保Offline mode的勾选框是取消状态。清理本地Maven仓库的失效缓存
本地仓库里可能存在损坏的依赖缓存,导致IDE认为JAR已经下载但实际没有。找到你的本地Maven仓库路径(默认是~/.m2/repository),定位到那些只存在POM的依赖文件夹,直接删除整个文件夹,然后回到IntelliJ右键项目,选择Maven -> Reload Project重新触发下载。强制更新Maven依赖
试试用Maven命令行强制更新依赖,进入项目根目录执行:mvn clean install -U-U参数会强制IDE忽略本地缓存,重新从远程仓库拉取最新的依赖信息。执行完后再回到IntelliJ重新导入项目。检查Maven镜像配置
可能是默认的Maven中央仓库访问不稳定,或者你的settings.xml里的镜像配置出现了问题。打开Maven的settings.xml文件(路径通常是~/.m2/settings.xml或者IDE指定的路径),看看镜像配置是否正确,比如可以换成国内的镜像源:<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>修改后记得重启IDE或者重新加载Maven项目。
检查项目POM的依赖配置
确认一下pom.xml里的依赖是否存在问题:比如是不是把依赖的scope设成了provided(这种scope下IDE不会下载JAR,因为假设运行环境会提供),或者依赖的版本号是不是不存在(比如快照版本被仓库移除了)。可以手动核对一下依赖的版本是否在Maven中央仓库有对应的JAR包。检查IDE的HTTP代理设置
如果你的网络需要通过代理访问外部仓库,可能是代理配置突然失效了。通过File -> Settings -> Appearance & Behavior -> System Settings -> HTTP Proxy检查代理配置是否正确,或者尝试暂时切换到No proxy模式(如果网络允许的话),再重新下载依赖。
内容的提问来源于stack exchange,提问作者vrn

