IDEA 无法识别 OkHttpClient?cannot resolve symbol问题解决

最近项目中引入 OkHttp 4.12.0 后,IDEA 一直报错:

java 复制代码
cannot resolve symbol 'OkHttpClient'

虽然 Maven 已经成功下载依赖,但:

java 复制代码
import okhttp3.OkHttpClient;

依然全红,无法编译。

一、问题环境

组件 版本
IDEA IntelliJ IDEA 2021.1
Kotlin 插件 1.5.21
OkHttp 4.12.0
构建工具 Maven

并且在:

text 复制代码
Settings -> Languages & Frameworks -> Kotlin

中显示:

text 复制代码
You have the latest version of the plugin installed.

说明当前 IDEA 已无法升级 Kotlin 插件。

二、问题原因

核心原因:

OkHttp 4.10+ 强制要求 Kotlin 1.8+

但 IDEA 2021.1 最高只支持:

text 复制代码
Kotlin 1.5.21

因此会导致:

  • IDEA 无法解析 OkHttp 类
  • OkHttpClient 无法导入
  • 代码全部标红

这并不是 Maven 下载失败,而是:

text 复制代码
IDEA版本过旧 → Kotlin版本过低 → 与OkHttp不兼容

三、解决方案

方案1:升级 IDEA(推荐)

升级到:

text 复制代码
IDEA 2023.1+

即可正常支持:

text 复制代码
Kotlin 1.8+
OkHttp 4.12.0

重新导入 Maven 项目后问题会自动消失。

方案2:降级 OkHttp(最快)

如果暂时不升级 IDEA,直接将 OkHttp 降级:

xml 复制代码
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.3</version>
</dependency>

4.9.3 是最后一个兼容 Kotlin 1.5.x 的稳定版本。

修改后重新:

text 复制代码
Maven Reload

即可正常导入:

java 复制代码
import okhttp3.OkHttpClient;
相关推荐
砍材农夫11 分钟前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud
mldong7 小时前
一个 App,十三套后端:手机审批端 uni-jeeflow-app 开源了
java·架构
tqs_123458 小时前
MySQL RR隔离级别死锁|Gap间隙锁、临键锁,订单并发范围查询死锁根因方案
java
逆境不可逃8 小时前
Pi Agent 学习笔记:多个工具怎样并行执行
java
Flynt9 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet9 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
星云API技术支持9 小时前
企业微信二次开发:群权限设置、成员管理与群资料维护的接口组合实践
java·前端·企业微信
niucloud-admin10 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
海宇AI11 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
cfm_291412 小时前
单例模式详解
java