Development/기타

Maven과 Gradle

컴공 K 2022. 1. 11. 00:01

스프링 프로젝트를 진행하다보면 빌드 툴을 Maven과 Gradle 중 선택해서 사용할 수 있다. 이때, Maven과 Gradle이 무엇이고 어떤 차이점을 가졌는지 정리해보고자 한다.

 

Maven

Maven은 프로젝트관리 도구이다. Project object model (POM)개념의 기반으로 만들어져있으며 빌드 중인 프로젝트, 빌드 순서, 다양한 외부 라이브러리의 종속성 관계들을 pom.xml 파일에 명시한다. 외부저장소에서 필요한 라이브러리와 플러그인들을 다운로드/업데이트 한 다음, 로컬시스템의 캐시에 모두 저장한다.

  • 아파치 메이븐은 자바용 프로젝트 관리 도구
  • 아파치 Ant의 대안으로 만들어짐
  • 아파치 라이센스로 배포되는 오픈 소스 소프트웨어
// maven 예시
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>

 

 

 

Gradle

Gradle은 Grooby를 이용한 빌드 자동화 시스템이다. Ant와 Maven의 장점을 모아 출시 됐으며 Maven의 후속주자인 만큼 Maven보다 장점이 더 많다. Ant처럼 유연한 범용 빌드 도구, Maven을 사용할 수 있는 변환 가능 컨벤션 프레임 워크 등의 장점이 있다.

  • 빌드, 프로젝트 구성/관리, 테스트, 배포 도구
  • 안드로이드 앱의 공식 빌드 시스템
  • 빌드 속도가 Maven에 비해 10~100배 가량 빠름
  • JAVA, C/C++M Python 등을 지원
  • 빌트툴인 Ant Builder와 Groovy 스크립트 기반으로 만들어져 기존 Ant의 역할과 배포 스크립트의 기능을 모두 사용 가능
// gradle 예시
providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.16'

 

 

 

 

 

 

 

 

https://dev-coco.tistory.com/65

 

메이븐(Maven)과 그래들(Gradle)의 개념 및 비교

스프링과 스프링부트를 공부 하려던 중 maven과 gradle을 알게되었습니다. maven과 gradle이 빌드관리도구인 것은 알고있지만 자세한 개념은 모르기에 maven과 gradle 각각의 개념과 정확한 차이점을 알

dev-coco.tistory.com

https://lejent3.tistory.com/140

 

Maven과 Gradle의 차이

스프링 부트 프로젝트를 하려고 하는데 gradle를 설치하라고 한다. 전에 스프링에서는 Maven을 했었던 기억이 나는데 둘은 각각 무엇이고 어떠한 차이가 있을까? 우선, 이 둘은 빌드 관리 도구이다.

lejent3.tistory.com

https://hyojun123.github.io/2019/04/18/gradleAndMaven/

 

Maven과 Gradle의 차이

Maven vs Gradle 우선 둘의 차이를 알기위해 각각 알아보았다. Maven같은경우는 스프링프로젝트에서 pom.xml이란 이름으로 쓰고, Gradle은 스프링부트, 안드로이드에서 쓰는걸로 알고있다. 처음에 단순히

hyojun123.github.io

 

728x90