메이븐(Maven)과 그래들(Gradle)

HyeonWoo·2020년 12월 8일
0

스프링 & JPA

목록 보기
2/34
post-thumbnail

*스프링부트 프로젝트는 gradle기반과 maven기반 프로젝트로 구성할 수 있다.
이번 장에서는 gradle과 maven의 정확한 차이점을 알아보고자 한다.


Maven이란?

  • 아파치 메이븐은 자바용 프로젝트 관리 도구.
  • 아파치 앤트의 대안으로 만들어짐.
  • 아파치 라이센스로 배포되는 오픈 소스 소프트웨어

=> 프로젝트를 진행하면서 사용하는 수 많은 라이브러리들을 관리해주는 도구.
( 라이브러리들과 연관된 라이브러리들 까지 거미줄처럼 다 연동이 되어서 관리가 됨, 즉 메이븐은 네트워크를 통해서 연관된 라이브러리까지 같이 업데이트를 해줌)

Gradle이란?

  • 기본적으로 빌드 배포 도구.
  • 안드로이드 앱 공식 빌드 시스템.
  • 빌드 속도가 maven에 비해 10~100배 가량 빠름.
  • JAVA, C/C++, Python등을 지원.
  • 빌드툴인 Ant Builder와 그루비 스크립트를 기반으로 구축되어 기존 Ant의 역할과 배포 스크립트의 기능을 모두 사용 가능.

=> 라이브러리 관리, 프로젝트 관리, 단위 테스트 시 의존성 관리.


Maven vs Gradle

  • maven은 프로젝트가 커질수록 빌드 스크립트의 내용이 길어지고 가독성이 떨어짐.
  • gradle은 훨씬 적은 양의 스크립트로 짧고 간결하게 작성.
  • maven의 경우 멀티 프로젝트에서 특정 설정을 다른 모듈에서 사용하려면 상속을 받아야함.
  • gradle은 설정 주입 방식을 사용 => 멀티 프로젝트에 매우 적합!
profile
학습 정리, 자기 개발을 위한 블로그

0개의 댓글