[SpringBoot] - Maven 과 Gradle

army246·2022년 7월 13일
0

Spring Boot

목록 보기
2/4

  • 스프링부트 프로젝트에서는 maven과 gradle 기반으로 프로젝트를 구성할 수 있다.

✏️ Maven

  • JAVA용 프로젝트 관리 도구
  • 아파치 라이센스로 배포되는 오픈 소스 소프트웨어
  • 프로젝트에서 사용하는 수 많은 라이브러리를 관리해주는 도구이다.

Project Object Model - POM

Maven의 기능을 사용하기 위해서 POM을 사용
pom.xml 파일에서 여러 기능들을 다룬다.

pom.xml 주요 기능

  • 프로젝트 정보 : 프로젝트 이름, 라이센스 등
  • 빌드 설정 : 소스, 리소스 등 빌드와 관련된 설정
  • 빌드 환경 : 환경 별로 달라질 수 잇는 프로파일 정보
  • pom 연관정보 : 의존 프로젝트, 상위 프로젝트, 하위 모듈 등

✏️ Gradle

  • 빌드, 프로젝트 구성/관리, 테스트, 배포 도구
  • 빌드 속도가 maven보다 빠르다.
  • JAVA, C/C++, Python 등 지원
  • 라이브러리 관리, 프로젝트 관리, 단위 테스트시 의존성 관리를 해준다.
  • gradle은 설정 주입 방식을 사용 -> 멀티 프로젝트에 적합

maven의 경우 xml로 라이브러리를 정의하고 활용하지만 gradle은 별도 빌드 스크립트를 통해서 사용할 어플리케이션 버전, 라이브러리 등을 설정한다.
Groovy 스크립트 언어로 구성되어 있기 때문에 xml과 다르게 간결하게 구현이 가능하다.

Maven 과 Gradle 비교

  • maven은 프로젝트 규모가 커질수록 빌드 스크립트 내용이 길어지기 때문에 가독성이 떨어진다.
    gradle은 적은 양의 스크립트로 간결하게 작성 가능하다.

  • maven은 멀티 프로젝트에서 특정 설정을 다른 모듈에서 사용하려면 상속을 받아야 하지만
    gradle은 설정 주입 방식을 사용하기 때문에 멀티 프로젝트에 적합하다.

profile
천천히 꾸준히

0개의 댓글