[Spring Boot] 스프링 부트 3.x 업그레이드 Apache HttpClient 문제 해결
반응형
Spring Boot 2.X 버전에서는 오류 없이 정상적인 코드였는데 Spring Boot 3.X 버전으로 업그레이드를 하니 오류가 발생하는 부분이 많이 발생한다. 그중에서 Apache HttpClient 관련 오류에 대해서 포스팅한다.
1. Apache HttpClient 지원 제거
Spring Boot 3.x 부터는 Apache HttpClient에 대한 지원이 제거되면서 org.apache.httpcomponents.client5 라이브러리로 변경되었다.
CloseableHttpClient closeableHttpClient;
HttpClient httpClient = null;
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
if (closeableHttpClient != null) {
httpComponentsClientHttpRequestFactory.setHttpClient((HttpClient) closeableHttpClient);
}
그래서 기존 소스에서 CloseableHttpClient 객체를 Httplent로 Cast 시 오류가 발생하게 된다.
2. Apache Httpcomponents Client5 추가
프로젝트에 Apache Httpcomponents Client5 라이브러리 의존성을 주입하자.
https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5
Maven 의존성 주입
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.4</version>
</dependency>
Gradle 의존성 주입
// https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5
implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.4'
3. 코드 수정
HttpComponentsClientHttpRequestFactory 클래스를 생성할 때 client5로 Cast 해서 생성하니 오류가 사라졌다.
CloseableHttpClient closeableHttpClient = null;
HttpClient httpClient = null;
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory =
new HttpComponentsClientHttpRequestFactory((org.apache.hc.client5.http.classic.HttpClient) httpClient);
if (closeableHttpClient != null) {
httpComponentsClientHttpRequestFactory
.setHttpClient((org.apache.hc.client5.http.classic.HttpClient) closeableHttpClient);
}
이 방법은 임시방편이고 나중이 기회가 되면 Apache Httpcomponents client5 라이브러리를 이용해 해당 코드를 다시 구현해 봐야겠다.
반응형
'JAVA' 카테고리의 다른 글
[Java] 이클립스 eclipse Lombok annotation handler class lombok.eclipse.handlers.HandleSetter failed 에러 해결 방법 (2) | 2024.09.23 |
---|---|
[Java] 자바 JAR 파일 실행 안될 때 해결 방법 (0) | 2024.09.23 |
[Java] 자바 문자열 자르기 substring 함수와 주의사항 (1) | 2024.09.23 |
[Java] 이클립스에서 gradle 자바 프로젝트 import 하기 (2) | 2024.09.12 |
코딩테스트 지도 자동 구축 Java 제곱근을 이용한 문제 풀이 (1) | 2024.07.24 |
댓글