如何在OkHttp 4.12.0中排除Kotlin依赖?
解决OkHttp 4.x依赖Kotlin类的问题
OkHttp 4.x版本起完全基于Kotlin开发,所以无法完全排除Kotlin相关依赖,你遇到的java.lang.NoClassDefFoundError: kotlin/jvm/internal/markers/KMappedMarker错误,就是因为缺少Kotlin标准库导致的。
给你两个可行的解决方向:
1. 引入必要的Kotlin依赖(推荐)
既然用了OkHttp 4.x,必须补充Kotlin标准库才能正常运行:
- 下载与OkHttp 4.12.0兼容的Kotlin标准库JAR(对应版本为Kotlin 1.9.0,推荐下载
kotlin-stdlib-jdk8-1.9.0.jar) - 将该JAR添加到Netbeans的Libraries文件夹中,和OkHttp的JAR放在一起
- 在Ant的
build.xml中,确保类路径包含这个Kotlin标准库JAR
2. 降级到OkHttp 3.x版本
如果坚决不想引入Kotlin依赖,可以切换到OkHttp 3.x系列版本,这个版本是纯Java实现,完全不需要Kotlin相关类。不过注意:OkHttp 3.x已经停止官方维护,后续不会有安全更新和功能迭代,需要自行评估风险。
内容的提问来源于stack exchange,提问作者BugHunterUK
相关产品推荐
相关产品推荐

