Spring Boot로 프로젝트를 진행하면서 Maven과 Gradle 중 하나의 빌드도구를 선택해서 진행을 하게 되는데
도대체 Maven이 뭐고 Gradle이 뭘까?
Maven의 정의
- 자바용 프로텍트 관리 도구, Apache Ant의 대안으로 등장
- 필요한 라이브러리를 pom.xml에 정의해두면 내가 사용할 라이브러리 뿐 아니라 해당 라이브러리에 필요한 다른 라이브러리들까지 자동으로 다운받아줌
Maven의 pom.xml
- 메이븐을 이용한 프로젝트 root에 존재하는 xml파일
- 프로젝트의 모든 설정, 의존성 등을 기록
- 즉, pom.xml에 사용하고자하는 라이브러리를 등록함
- https://mvnrepository.com/ 사이트에서 메이븐 코드를 확인할 수 있음
Gradle의 정의
- Groovy를 기반으로 한 빌드 도구. Ant와 Maven의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 도구
- xml의 구조적 틀에서 벗어나 DSL 언어로 간결한 정의 가능
- 프로젝트를 설정 주입 방식으로 정의 -> Maven의 상속 구조보다 재사용에 용이
Maven VS Gradle
- Gradle은 Maven 보다 최대 100배 빠름
- Gradle은 캐시를 사용하기 때문에 테스트 반복 시 차이가 더 커짐
- Maven을 많은 사람들이 사용해왔기 때문에 아직도 많이 사용하지만 전체적인 측면에서 비교했을 때 Gradle이 앞선다.
- 새로 시작하는 프로젝트라면 Gradle을 사용하는게 더 유리해보임.
참고한 블로그
Maven vs Gradle
Maven vs Gradle 스프링 기반의 프로젝트를 시작하면서 Maven을 처음 접했다. Ant를 사용한적도 없었고 의존성 관리와 빌드 스크립트에 대한 지식도 없었기에 이런게 있나보다 하고 사용했었다. Maven
bkim.tistory.com
https://yeonyeon.tistory.com/89
[Gradle] gradle이란?
Gradle 빌드 파일 작성법 찾아보다가... 이 부분을 왜 이렇게 작성하는지 저걸 어케 쓰는건지 전혀 모르겠고... 혼자 화딱지나서 기초부터 차근차근 정리했다ㅠㅠ 이글저글 많이 참고했지만 가장
yeonyeon.tistory.com
https://goddaehee.tistory.com/199
[Maven] Maven 이란? (정의, 예제)
[Maven] 메이븐 이란? (정의, 예제) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 메이븐 알아보기 ] 입니다. : ) 1. 빌드 (Build) #1 빌드란? - 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립
goddaehee.tistory.com
[Spring] Maven과 Gradle의 차이
Spring Boot로 프로젝트를 진행하면서 Maven과 Gradle 중 하나의 빌드도구를 선택해서 진행을 하게 되는데 그러면서 둘의 차이가 무엇일까 궁금하게 되어서 찾아보고 간단하게 기록해두려 한다. Maven
toload.tistory.com
'program > Java, Spring' 카테고리의 다른 글
SqlSessionTemplate란? (MyBatis) (0) | 2022.04.14 |
---|---|
MyBatis란? (0) | 2022.04.14 |
머스테치(Mustache)란? (0) | 2022.04.11 |
@ModelAttribute, @RequestParam, @RequestBody 이란? (0) | 2022.04.07 |
@RequiredArgsConstructor과 @Autowired 의 차이점 / 의존성과 의존성 주입이란 / @Component (0) | 2022.04.05 |