java.lang.NoClassDefFoundError: - 不能初始化类org.apache.http.impl.conn.ManagedHttpClientConnectionFactory

时间:2015-03-12 10:04:48

标签: java spring httpclient

我正在开发Spring webservice(SpringWSTemplate),我试图覆盖org.springframework.ws.transport.http.HttpComponentsMessageSender 我有一个如下代码:

public class CustomHttpComponentsMessageSender extends
org.springframework.ws.transport.http.HttpComponentsMessageSender {
@Override
public WebServiceConnection createConnection(URI uri) throws IOException {

CookieStore cookieStore = new BasicCookieStore();
HttpComponentsConnection conn = (HttpComponentsConnection) super
.createConnection(uri);
HttpClientBuilder httpClientBuilder=HttpClientBuilder.create();
HttpClient httpclient = httpClientBuilder.setDefaultCookieStore(cookieStore).build();
HttpPost httpGet = new HttpPost(uri);
HttpResponse response = httpclient.execute(httpGet);
return conn;
}

}

当代码执行到达行:HttpClient httpclient = httpClientBuilder.setDefaultCookieStore(cookieStore).build();

我收到以下异常

INFO   | jvm 1    | main    | 2015/03/12 14:48:41.707 | Mar 12, 2015 2:48:41 PM org.apache.catalina.core.StandardWrapperValve invoke
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.709 | SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory] with root cause
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.709 | java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at com.utas.integrations.documentum.webservices.impl.CustomHttpComponentsMessageSender.createConnection(CustomHttpComponentsMessageSender.java:30)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.support.WebServiceAccessor.createConnection(WebServiceAccessor.java:107)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:535)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:386)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:380)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:372)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at 

我在构建路径中使用jar,并且在类路径中有jar条目。

<classpathentry kind="lib" path="lib/httpclient-4.3.3.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.3.jar"/>
<classpathentry kind="lib" path="/sapadtreco/lib/httpmime-4.3.1.jar"/>
<classpathentry kind="lib" path="lib/spring-ws-core-2.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/fluent-hc-4.3.jar"/>

非常感谢快速帮助。

1 个答案:

答案 0 :(得分:3)

可能是由于类路径中的httpclient-4.3.3.jar文件无效/损坏/丢失。尝试展开此文件并检查其是否有效并在其中包含ManagedHttpClientConnectionFactory类。