[SpringBoot] Maven vs Gradle
SpringBoot

[SpringBoot] Maven vs Gradle

반응형

이전에 Maven을 사용했지만, 최근엔 대부분 Gradle을 사용하는 듯하여 차이점을 알고 싶어 간단히 조사해 포스팅하려고 한다.

 

 

Maven이란?

  • Maven이전에 사용하던 Ant의 불편함을 개선하고 기능을 추가한 빌드 도구
  • Java용 프로젝트 관리도구
  • pom.xml에 필요한 라이브러리를 작성하면 네트워크를 통해 자동으로 다운로드하여 로컬에 저장한다.
    • 과거에 maven 빌드가 잘 안되었을 때, 동료 로컬에 있는 maven 파일들을 복사해 사용했던 경험이 있다.
  • 필요한 라이브러리와 연관된 라이브러리들까지 다 연동이 되어서 관리가 된다.
  • 가독성이 좋지 않다. 가끔씩 오류가 발생해 재설치하거나 재로딩하는데 시간이 많이 소모된다.(개인적인 생각)

출처) https://kaling88.tistory.com/3 pom.xml

검색 측면에서도 maven사이트는 불친절하다고 느껴진다.

출처) https://mvnrepository.com/

 

 

Gradle이란?

  • Ant와 Maven의 장점을 합친 빌드 도구
  • build.gradle에서 관리하는데 maven보다 코드가 간결하다.
  • 규모가 큰 멀티 프로젝트에 사용하기 좋다.
  • 업데이트가 반영된 빌드는 다시 재실행되지 않아 시간이 단축된다.

build.gradle

다시 봐도 검색하기에 최적화된 디자인이다!

출처) https://search.maven.org/

 

 

 

Maven vs Gradle

  1. Maven은 프로젝트가 커질수록 xml파일의 내용이 길어져 가독성이 떨어지지만, Gradle은 적는 내용이 간결해 가독성이 좋다.
  2. Gradle의 빌드 속도가 Maven보다 최소 10배에서 최대 100배 빠르다.
    • 규모가 작은 프로젝트에서는 실감이 안 날 수 있지만, 규모가 커질수록 Gradle을 사용하는 것이 시간을 단축할 수 있다.
  3. Gradle은 동적으로 플러그인을 호출하거나 직접 코드를 작성할 수 있다.

Gradle 공식 홈페이지에서 Maven과의 차이점(유연성, 성능, 사용자 경험, 종속성 관리)을 정리해두었으니 해당 공식 문서를 읽어보는 것도 좋을 듯하다.

 

 

 

 

출처

https://gradle.org/maven-vs-gradle/

https://mylupin.tistory.com/39

https://bkim.tistory.com/13

반응형

'SpringBoot' 카테고리의 다른 글

[SpringBoot] 필터(Filter)와 인터셉터(Interceptor)  (0) 2021.09.26