首页 > 解决方案 > 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 对象

标签: javaeclipsehttpjbosswildfly

解决方案


推荐阅读