问题描述
在腾讯云环境中,代码存在feign调用,不用默认的client要启用okHttpClient,支持okhttp请求,以实现请求支持连接池和请求压缩,来提升请求和响应速度,但是在导入相关的依赖开启okhttp配置后,测试返现feign调用异常,java.lang.NoClassDefFoundError: feign/Request$HttpMethod,我又把okhttp的配置关了,启用默认的client,调用成功。由此可见,是ohhttp的问题,请各位一起出谋划策。
导入的依赖如下,已排除依赖冲突
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign</artifactId>
</dependency>
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-okhttp</artifactId>
<version>11.8</version>
<exclusions>
<exclusion>
<artifactId>feign-core</artifactId>
<groupId>io.github.openfeign</groupId>
</exclusion>
<exclusion>
<artifactId>kotlin-stdlib</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
</exclusion>
<exclusion>
<artifactId>kotlin-stdlib-common</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.3.70</version>
<exclusions>
<exclusion>
<artifactId>annotations</artifactId>
<groupId>org.jetbrains</groupId>
</exclusion>
</exclusions>
</dependency>
okhttp的配置
feign:
client:
config:
default:
connectTimeout: 20000
readTimeout: 30000
httpclient:
enabled: false
okhttp:
enabled: true
compression:
request:
enabled: true #开启请求压缩
mime-types: text/html,application/xml,application/json #设置压缩的数据类型
min-request-size: 2048 #设置触发压缩的大小下限
response:
enabled: true #开启响应压缩