SpringBoot
[SpringBoot] Maven vs Gradle
마데카솔라
2021. 8. 7. 16:27
반응형
이전에 Maven을 사용했지만, 최근엔 대부분 Gradle을 사용하는 듯하여 차이점을 알고 싶어 간단히 조사해 포스팅하려고 한다.
Maven이란?
- Maven이전에 사용하던 Ant의 불편함을 개선하고 기능을 추가한 빌드 도구
- Java용 프로젝트 관리도구
- pom.xml에 필요한 라이브러리를 작성하면 네트워크를 통해 자동으로 다운로드하여 로컬에 저장한다.
- 과거에 maven 빌드가 잘 안되었을 때, 동료 로컬에 있는 maven 파일들을 복사해 사용했던 경험이 있다.
- 필요한 라이브러리와 연관된 라이브러리들까지 다 연동이 되어서 관리가 된다.
- 가독성이 좋지 않다. 가끔씩 오류가 발생해 재설치하거나 재로딩하는데 시간이 많이 소모된다.(개인적인 생각)
검색 측면에서도 maven사이트는 불친절하다고 느껴진다.
Gradle이란?
- Ant와 Maven의 장점을 합친 빌드 도구
- build.gradle에서 관리하는데 maven보다 코드가 간결하다.
- 규모가 큰 멀티 프로젝트에 사용하기 좋다.
- 업데이트가 반영된 빌드는 다시 재실행되지 않아 시간이 단축된다.
다시 봐도 검색하기에 최적화된 디자인이다!
Maven vs Gradle
- Maven은 프로젝트가 커질수록 xml파일의 내용이 길어져 가독성이 떨어지지만, Gradle은 적는 내용이 간결해 가독성이 좋다.
- Gradle의 빌드 속도가 Maven보다 최소 10배에서 최대 100배 빠르다.
- 규모가 작은 프로젝트에서는 실감이 안 날 수 있지만, 규모가 커질수록 Gradle을 사용하는 것이 시간을 단축할 수 있다.
- Gradle은 동적으로 플러그인을 호출하거나 직접 코드를 작성할 수 있다.
Gradle 공식 홈페이지에서 Maven과의 차이점(유연성, 성능, 사용자 경험, 종속성 관리)을 정리해두었으니 해당 공식 문서를 읽어보는 것도 좋을 듯하다.
출처
https://gradle.org/maven-vs-gradle/
반응형