개인 프로젝트 진행 중에 Eureka 모듈과 ApiGateway 모듈을 만들고 연결을 확인했다. 그래서 같은 설정으로 마이크로서비스를 하나 만들어 실행해보았으나 제목과 같은 오류가 뜨며 실행이 안되는 것이다.
오류를 보면 Eureka와 연결하는 과정에서 문제가 생긴 것 같다. 그래서 관련 내용으로 검색을 하니
spring-cloud-starter-netflix-eureka-client 는 spring-boot-starter-web 또는 spring-boot-starter-webflux를
의존 한다.
그래서 안 되는 거였구나...
build.gradle에 spring-boot-starter-web 의존성 추가 후 gradle 동기화 하니 정상 작동을 확인했다.
추가)
Gateway 서비스도 저것과 거의 비슷하게 했는데, 왜 그곳은 되고 여긴 안 되었을까?
그래서 의존성에 추가된 의존성을 살펴보니 다음과 같은 사실을 알 수 있었다.
spring-cloud-starter-gateway 는 내부적으로 spring-boot-starter-webflux 를 포함.
그래서 관련 의존성 선언 없이도 작동이 되었던 것.
서비스 만드는 시간 중 반 이상이 세팅이라더니. 그게 맞는 것 같다.
그래도 찾아내서 정상 작동 할 떄의 기분은 참 좋다.
참고로, spring-boot-starter-web와 webflux의 차이가 궁금하다면 아래 링크를 참조해보는게 좋을 것 같다.
Spring Starter Web vs Spring WebFlux
1. 서론 (Introduction)Spring Framework 소개Spring Framework는 엔터프라이즈 애플리케이션 개발을 위한 포괄적인 프로그래밍 및 구성 모델을 제공하는 오픈 소스 애플리케이션 프레임워크입니다. 주로 자
happydhkim.tistory.com
반응형
댓글