okhttp3:clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+

【周六更换为apple M1支持的idea,jdk后,报JDK 9+的异常】

换回之前的jdk后还是报,所以暂时锁定idea上了。


前提是:

1 JDK 8的环境(jdk1.8.0_191.jdk);

2 在使用okhttp3(3.12.0)时;


clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+


报错位置:

解决办法:

网上说:

该异常是通过JDK的SSLParameters这个类里有没有setApplicationProtocols方法和SSLSocket类中有没有getApplicationProtocol()方法来判断是不是属于jdk9, 很可惜在jdk 1.8.0_251及后续版本里都有上面两个方法,因此导致判断错误。而在jdk 1.8.0_188中是没有上述几个方法。这应该属于okhttp的bug.

但是,换到之前的版本还是报异常

最终:调整了OkHttpClient的构造器

参考:

https://blog.csdn.net/liang1352389/article/details/110393030 (解决了)

https://www.cnblogs.com/chinaifae/articles/10442797.html

https://www.freesion.com/article/23361021974/ (这文章没有解决本人问题)

你可能感兴趣的:(okhttp3:clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+)