[Spring] Maven과 Gradle의 차이

[Spring] Maven과 Gradle의 차이

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://bkim.tistory.com/13

https://yeonyeon.tistory.com/89

https://goddaehee.tistory.com/199

from http://toload.tistory.com/98 by ccl(A) rewrite - 2021-12-27 23:01:21