[SpringBoot] maven VS gradle
by 핫도구반응형
이전에는 maven으로 프로젝트를 진행했었지만 이번에는 gradle로 진행해보려고 한다. 그러면 maven에서 프로젝트를 진행할 때는 pom.xml을 통해 dependency를 추가해줬지만 이번에는 어떻게 기본적으로 설정을 해야하는지 알아보자. 아 그리고 querydsl을 사용할 경우로 알아 볼 예정이다. 그리고 이전에는 eclipse를 사용했지만, 이번에는 intellij를 사용할 예정이다.
먼저, maven과 gradle의 차이점에 대해 알아보면 아래와 같다.
| gradle | maven | |
| 설정파일 | build.gradle 혹은 build.gradle.kts | pom.xml |
| 의존성 선언 | 간결함 | 장황함 |
| 빌드 속도 | 빠름 | 보통 |
| 병렬처리 | 우수 | 제한적 |
| 동적 버전 | 유연한 지원 | 제한적 |
그리고 maven의 장단점은 아래와 같다.
| 장점 | 단점 |
| 표준화되고 예측 가능 | XML 문법이 장황함 |
| 학습이 쉬움 | 커스터마이징 어려움 |
| 풍부한 문서와 예제 | 빌드 속도 느림 |
| 안정적이고 성숙함 | 유연성 부족 |
gradle의 장단점은 아래와 같다.
| 장점 | 단점 |
| 빠른 빌드 속도 | 학습 곡선이 가파름 |
| 간결한 문법 | 너무 높은 자유도 |
| 높은 유연성 | 디버깅이 어려울 수 있음 |
그러면 어떤 경우에 maven, gradle을 선택하면 좋은지 정리하면 아래와 같다.
| gradle | maven |
| 복잡한 빌드 요구사항 | 단순한 프로젝트 구조 |
| 빌드 성능이 중요 | 팀원들이 Maven에 익숙 |
| android 개발 | 표준화와 안정성 중요 |
| 멀티 모듈 프로젝트 | 레거시 시스템과 통합 |
| 최신 Spring Boot 프로젝트 |
여기까지 maven과 gradle의 차이점에 대해 알아봤다. 그래서 현재 프로젝트를 막 시작단계에 있기 때문에 이렇데 저렇다 할 수 있는 것은 아니지만 확실한 것은 pom.xml보다 build.gradle.kts가 훨씬 간결하다는 것이다. 이전에 프로젝트를 maven으로 했을 당시 엄청 길었던 pom.xml과는 다르게 형식 자체가 훨씬 간결하면서도 보기 편하다는 장점이 있는 것이 확실하다. 원래는 SpringSecurity를 하려고 했지만 이전에 설정하는 것이 이것 저것 많이 있어서 거기까지 가지 못한 것도 있지만 기본적으로 설정해야 하는 파일들과 maven과 gradle의 차이점들을 확인하는 편이 훨씬 낫다고 생각했다.
반응형
'JAVA > SPRING&SPRINGBOOT' 카테고리의 다른 글
| [SpringBoot] Spring MVC의 핵심, Controller와 요청 처리 (0) | 2025.11.03 |
|---|---|
| [SpringBoot] 애노테이션(Annotation) (0) | 2025.10.30 |
| [SpringBoot] 프로젝트 구조 알아보기 (0) | 2025.10.23 |
| [SpringBoot] application.properties, application.yml (0) | 2025.10.20 |
| [SpringBoot] gradle 설정 (0) | 2025.10.16 |
블로그의 정보
AquaMan
핫도구