我编写了一个 API Man 插件,它com.squareup.okhttp3:okhttp:3.11.0
用作依赖项,它对com.squareup.okio:okio:jar:1.14.0
. 然而,Wildfly (10.1.0.Final) 似乎使用了不同的版本com.squareup.okio:okio:jar:1.4.0
,因此我得到了以下异常。
java.lang.NoSuchMethodError: okio.BufferedSource.readUtf8LineStrict(J)Ljava/lang/String;
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
为了解决这个问题,我在我的项目 src/main/webapp/WEB-INF 目录中包含了以下 jboss-deployment-structure.xml
<jboss-deployment-structure>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding
some dependencies -->
<exclusions>
<module name="okio" />
</exclusions>
</deployment>
</jboss-deployment-structure>
然而它似乎并没有解决它