OkHttp 3.10.0版本编译异常及IDEA报错问题求助
解决OkHttp 3.10.0分支Maven编译及IDEA报错问题
我来帮你搞定这个问题,先拆解下你遇到的两个场景:Maven命令行编译报错,以及后续IDEA的残留报错。
一、先解决Maven编译的${alpn.jdk8.version}未解析问题
这个错误的核心是Maven找不到alpn.jdk8.version这个属性的具体值,OkHttp 3.10.0的父POM里可能依赖了这个变量但没正确定义,或者你的Maven环境没加载到对应的配置。给你两个靠谱的解决办法:
方法1:命令行手动指定版本参数
直接在编译命令里补上这个变量的具体值,对应OkHttp 3.10.0常用的alpn-boot版本是8.1.13.v20181017,执行:
mvn clean verify -Dalpn.jdk8.version=8.1.13.v20181017
方法2:修改父POM硬编码版本号
找到项目根目录的pom.xml,定位到第320行附近的alpn-boot依赖,把${alpn.jdk8.version}替换成具体版本号:
<dependency> <groupId>org.mortbay.jetty.alpn</groupId> <artifactId>alpn-boot</artifactId> <version>8.1.13.v20181017</version> </dependency>
二、解决IDEA仍显示报错的问题
你说Maven命令能跑但IDEA还报错,这是因为IDEA的缓存和Maven同步没跟上,按这几步来:
- 刷新Maven项目:打开IDEA右侧的Maven面板,点击顶部的「Reload All Maven Projects」按钮(循环箭头图标),让IDEA重新读取POM的最新配置。
- 清除IDEA缓存并重启:点击菜单栏的
File->Invalidate Caches...,选择「Invalidate and Restart」,等IDEA重启后会重新索引项目,大部分缓存导致的报错都会消失。 - 检查IDEA的Maven配置:确保IDEA使用的是你本地正常工作的Maven环境(不是内置的),可以在
File->Settings->Build, Execution, Deployment->Build Tools->Maven里确认配置路径和settings.xml是否正确。
另外提个小建议:OkHttp 3.10.0是比较旧的版本,尽量使用JDK 8来编译,因为alpn-boot主要是为JDK 8设计的,新JDK可能会有兼容性问题。
内容的提问来源于stack exchange,提问作者Francis Bacon
相关产品推荐
相关产品推荐

