Maven과 Gradle

IntelliJ.H·2022년 10월 30일
0

스프링을 공부하다가 정확하게 두 개의 차이를 모르겠어서 공부하며 작성

Maven? Gradle?

Maven과 Gradle이 그래서 뭐냐? = ' 빌드 관리 도구 '

Maven : 자바용 프로젝트 관리용 도구
Gradle : Groovy를 이용한 빌드 자동화 시스템

빌드 : 소스코드를 컴파일에서 실행할 수 있는 독립적인 형태로 변환하는 과정 또는 그 결과

빌드 관리 도구 : 소스코드에서 어플리케이션을 생성할 때, 많은 라이브러리를 사용한다. 이 라이브러리들을 사용자가 직접 관리할 필요 없이 자동으로 관리해주는 도구를 '빌드 관리 도구'라고 정의한다. (라이브러리 버전의 동기화 등의 문제 해결)

Maven vs Gradle

Maven

  • 내가 사용하는 라이브러리들 뿐만 아니라 해당 라이브러리가 작동할 때 필요한 라이브러리까지 관리하여 네트워크를 통해 자동으로 다운로드를 해주며 관리
  • XML 기반의 빌드 처리
  • 프로젝트의 전체적인 라이프사이클을 관리하는 도구
  • POM(Project Object Model)이 담겨있는 파일을 사용

Gradle

  • Maven과 동일하게 라이브러리를 자동으로 관리하나 Groovy라는 언어로 관리
  • 안드로이드 앱의 공식적인 빌드 시스템

Groovy란?

  • JVM에서 실행되는 스크립트 언어
  • XML과 달리 if, else, for 등의 로직 구현이 가능하다

결론

Gradle 이 Maven 보다 후발주자인 만큼 속도도 빠르고 로직 구현이 가능하고 가독성도 좋아보이지만 아직까지 Maven의 사용률이 Gradle보다 앞서고 있다. Gradle을 사용하기 위해 Groovy의 문법을 익혀야 하는 것이 위험 부담이 커서 그런 것이 아닐까.. 하고 공통적인 의견을 내고 있다.

0개의 댓글