Java/Spring

스프링 프로젝트에서 Gradle을 이용한 공통 라이브러리 추가하기

펭귄힝 2024. 6. 20. 09:16

MSA 를 구현하는 과정에서 각 서비스마다 공통적으로 사용되는 로직이 발견되었다.

이러한 공통 로직들을 라이브러리로 만들어 관리하는 것이 편하다고 판단하였고, 각각의 서비스에 공통 라이브러리를 적용하여 중복 코드를 줄여보고자 한다.

 

 

(이 과정에서 꽤 많은 시행 착오를 겪었기에 게시물로 기록해둔다.)

 

 

 

 

 

 

 

공통 로직을 만들 라이브러리 프로젝트를 생성한다.

 

 

 

 

 

 

만든 프로젝트에 위와 같이 공통적으로 사용되는 코드들을 추가해준다.

 

코드 작성이 끝났다면,

 

 

 

 

 

build.gradlew 에서 플러그인 항목에 위 두 줄을 추가해준다.

 

 

 

 

 

 

그리고나서 publish 관련 옵션들을 정의해준다.

 

초록색 네모 박스 안에는 원하는 명칭을 적어주면 된다.

 

빨간색 네모 박스는 gradle 특정 버전 이상부터 명시해주어야 한다. (해주지 않으면 오류 발생)

 

 

 

 

 

 

Gradle 메뉴에서 publishToMavenLocal 을 클릭하여 ./m2  경로로 발행해준다.

 

 

 

 

 

 

실제 .m2 폴더 안을 살펴보면 위와 같이 빌드된 라이브러리가 잘 올라간 것을 확인할 수 있다.

 

 

 

 

 

 

 

이제 실제 해당 라이브러리를 사용하는 프로젝트에서 만들었던 라이브러리의 GroupIDArtifactID, Version 을 적어서 추가시켜주고, repositories 에 mavenLocal() 옵션을 추가해준다.

 

 

 

 

 

 

마지막으로 컴포넌트 스캔을 라이브러리의 패키지명으로 적어주게되면 비로소 라이브러리를 사용할 수 있게 된다.

 

 

 

 

 

 

 

참고 자료