본문 바로가기
[SpringBoot]

Maven VS Gradle

by Hevton 2022. 11. 23.
반응형

 

스프링부트를 공부하면서, 프로젝트를 생성할 때 빌드 관리 도구를 선택하는 방법에는 Maven, Gradle 두 가지 방법이 있었고

이 Maven과 Gradle에는 어떤 차이가 있는지 궁금해져서 검색해보았다.

 

 

시간이 급하신 분들을 위해 한마디로 정리하자면

Gradle이 Maven의 단점을 보완해주고, 더 늦게 나오기도 했으며, 사용해본 사람들이 좋다고들 한다.

 

 

 

Gradle이 시기적으로 늦게 나온만큼 사용성, 성능 등 비교적 뛰어난 스펙을 가지고있다.

 

 

 

빌드 관리 도구 

우리가 프로젝트에서 작성한 java 코드와 프로젝트 내에 필요한 각종 xml, properties, jar 파일들을 JVM이나 WAS가 인식할 수 있도록 패키징 해주는 빌드 과정 == "빌드 자동화 도구" 라고 할 수 있다.

 

- 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램이라 할 수 있다.

- 각 라이브러리들을 번거롭게 모두 다운받을 필요없이, 빌드도구 설정파일에 필요한 라이브러리 종류와 버전들, 종속성 정보를 명시하여

필요한 라이브러리들을 설정파일을 통해 자동으로 다운로드 해주고 이를 간편히 관리해주는 도구이다.

예를 들어, "Spring Boot Data JPA Starter" 모듈을 사용하여 프로젝트를 개발하고 싶다면 메이븐레포지토리에서 해당 모듈을 검색하여 xml 설정파일에 추가하여 사용할 수 있다. (참고로 maven용 코드 이외에도 gradle용 코드도 탭에 있다.)

 

 

 

메이븐은 XML 스크립트를 기반으로 pom.xml 파일로 의존성을 관리하고

그레들은 Groovy 문법 기반으로 Build.gradle 에 스크립트를 작성하여 의존성을 관리하는데, 대규모 프로젝트에서 복잡해지는 경향이 있는 XML 기반 스크립트에 비해 관리가 편하다는 장점이 있어서 더 선호된다.

 

 

 

Maven으로 설정된 프로젝트는 Gradle로 마이그레이션 할 수 있다고 한다.

 

 

 

참고

https://jisooo.tistory.com/entry/Spring-%EB%B9%8C%EB%93%9C-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-Maven%EA%B3%BC-Gradle-%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0

 

[Spring] 빌드 관리 도구 Maven과 Gradle 비교하기.

spring에서 초기에 프로젝트를 생성할 때, 빌드 도구를 Maven으로 선택할지, Gradle로 선택할지에 대한 결정이 필요하다. ​ 그냥 나는 항상 익숙한데로, 의심의 여지 없이 spring boot 프로젝트를 진행

jisooo.tistory.com

https://bkim.tistory.com/13

 

Maven vs Gradle

Maven vs Gradle 스프링 기반의 프로젝트를 시작하면서 Maven을 처음 접했다. Ant를 사용한적도 없었고 의존성 관리와 빌드 스크립트에 대한 지식도 없었기에 이런게 있나보다 하고 사용했었다. Maven

bkim.tistory.com

 

반응형

'[SpringBoot]' 카테고리의 다른 글

@RequestMapping을 사용하는 이유  (0) 2022.12.01
Controller vs RestController 어노테이션 차이  (0) 2022.12.01
DAO vs DTO vs Entity  (0) 2022.11.24
Controller와 Service  (0) 2022.11.24
Spring, SpringBoot 란?  (0) 2022.11.16