Spring Boot로 프로젝트를 진행하면서 Maven과 Gradle 중 하나의 빌드도구를 선택해서 진행을 하게 되는데 그러면서 둘의 차이가 무엇일까 궁금하게 되어서 찾아보고 간단하게 기록해두려 한다.
Maven의 정의
- 자바용 프로젝트 관리도구, Apache Ant의 대안으로 등장
- 필요한 라이브리러를 pom.xml 에 정의해두면 내가 사용할 라이브러리 뿐 아니라 해당 라이브러리에 필요한 다른 라이브러리들까지 자동으로 다운받아줌
Maven의 pom.xml
- 메이븐을 이용하는 프로젝트 root에 존재하는 xml 파일
- 프로젝트의 모든 설정, 의존성 등을 기록
- 즉, pom.xml 에 사용하고자하는 라이브러리를 등록함
- https://mvnrepository.com/ 사이트에서 메이븐 코드를 확인 할 수 있음
Gradle의 정의
- Groovy를 기반으로한 빌드 도구. Ant와 Maven의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 도구
- xml의 구조적 틀에서 벗어나 DSL언어로 간결한 정의 가능
- 프로젝트를 설정 주입 방식으로 정의 -> Maven의 상속 구조보다 재사용에 용이
Maven VS Gradle
- Gradle은 Maven 보다 최대 100배 빠름
- Gradle은 캐시를 사용하기 때문에 테스트 반복 시 차이가 더 커짐
- Maven을 많은 사람들이 사용해왔기 때문에 아직도 많이 사용하지만 전체적인 측면에서 비교했을 때 Gradle이 앞선다.
- 새로 시작하는 프로젝트라면 Gradle을 사용하는게 더 유리해보임.
참고한 블로그
https://yeonyeon.tistory.com/89
https://goddaehee.tistory.com/199
'Backend > Spring' 카테고리의 다른 글
[ERD] ERD Cloud 사용법 (0) | 2022.10.31 |
---|