skill/Java.Kotlin

[Error] ClassNotFoundException: org.apache.http.impl.client.HttpClients

have a nice day :D 2023. 2. 22. 17:16
반응형

Springframework 의 RestTemplate 이용 하여, http 통신 구성 시 ,

public static <T> ResponseEntity<T> send(String url, HttpMethod method, HttpHeaders header, Map<String, Object> params, Class<T> responseType) {
    HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory();
    httpFactory.setConnectTimeout(5*1000);
    httpFactory.setReadTimeout(5*1000);

    RestTemplate restTemplate = new RestTemplate(httpFactory);
    HttpEntity<Object> entity = new HttpEntity<>(header);
    return restTemplate.exchange(url, method, entity, responseType, params);
}

timeout 설정으로 HttpComponentsClientHttpRequestFactory 이용 시, 에러 발생!

java.lang.ClassNotFoundException: org.apache.http.impl.client.HttpClients
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at org.springframework.http.client.HttpComponentsClientHttpRequestFactory.<init>(HttpComponentsClientHttpRequestFactory.java:79) ~[spring-web-5.3.25.jar:5.3.25]

[Error] Create a new instance of the HttpComponentsClientHttpRequestFactory with a default HttpClient based on system properties

HttpComponentsClientHttpRequestFactory 참조하는 HttpClient가 없다는 오류!
https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient 이동
version 선택 후, lib 등록!

implementation("org.apache.httpcomponents:httpclient:4.5")

 

반응형