빌드관리도구 Maven? Gradle?

mason.98·2021년 8월 26일
1

SPRING

목록 보기
2/4
post-thumbnail

스프링 공부를 시작하면서 헷갈리는거 적는 중

📌빌드도구

소스코드를 컴파일, 테스트, 정적분석 등을 실행가능한 애플리케이션으로
자동 생성하는 프로그램

빌드도구를 알기 전에 컴파일, 빌드, 배포는 정확히 알아? 예시를 들어보자

1. 컴파일 : 영문으로 된 글을 한글로 번역하는 것
2. 빌드 : 번역한 글들을 책으로 엮는 것
3. 배포 : 책을 고객들이 읽을 수 있게 서점에 진열하는 것

이걸 적용시켜보자면

1. 컴파일 : 컴퓨터가 이해할 수 있는 언어로 번역하는 것
2. 빌드 : 컴파일 마친 코드를 실행할 수 있게 만드는 것
3. 배포 : 사용자가 접근할 수 있는 환경에 배치시키는 것

웹,앱을 개발할 때 필요한 라이브러리들을 자동으로 추가 및 관리, 버전 자동 동기화까지
시켜주는 것을 빌드관리도구 라고한다.

안하면 개발자가 수동으로 import 해줘야 되는 불편함이 생기고
프로젝트가 커지면 커질수록 귀찮아진다.

Q) 근데 왜 Maven도 있는데 Gradle을 쓸까?

Maven은 xml코드로 되어있어서 Gradle과 비교했을 때 가독성이 나쁘다.
또한 Gradle이 빌드시간이 훨씬 빠르다.
Gradle은 어떤 작업들이 업데이트 되어있고 안되어있는지 체크를 한다. (incremental build)
따라서 이미 업데이트된 작업들에 대해서 실행되지 않으므로 빌드시간이 단축된다.

profile
wannabe---ing

0개의 댓글