java - Eclipse 中 HttpClient 对象的 JBOSS/Wildfly 中的 LinkageError
问题描述
我有以下代码,我试图在 JBOSS/WildFly14 上运行它。但是在 Eclipse 控制台中出现以下错误。
如果没有“ResteasyClient”,它可以正常工作(使用普通的 HTTPClient 对象)。但我需要 ResteasyClient 进行代理设置。
try {
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
}}, new java.security.SecureRandom());
ApacheHttpClient4Engine engine = new ApacheHttpClient4Engine(HttpClient)clientBuilder.build());
ResteasyClient client = new ResteasyClientBuilder()
.httpEngine(engine)
.sslContext(sslContext).hostnameVerifier((s1, s2) -> true) .build();
return client;
} catch (Exception ex) {
NetqosSharedLogger
.error("Unable to configure HttpClient correctly, using fallback connection configuration", ex);
}
引起:java.lang.LinkageError:加载器约束违规:当解析方法“org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.(Lorg/apache/http/client/HttpClient;)V”类加载器(实例当前类、com/ca/im/tmi/connector/agent/webservices/ClientUtils 的 org/jboss/modules/ModuleClassLoader 和方法定义类的类加载器(org/jboss/modules/ModuleClassLoader 的实例) , org/jboss/resteasy/client/jaxrs/engines/ApacheHttpClient4Engine, 对于签名中使用的类型 org/apache/http/client/HttpClient 有不同的 Class 对象