본문 바로가기
공부/Spring

[Spring] Maven? Gradle?

by 맴썰 2022. 2. 23.
  • Maven

메이븐은 아파치에서 나온 Java Project 관리 도구이다. 즉 프로젝트의 빌드를 자동화해주는 빌드 툴이다.

프로젝트 객체모델(Project Object Model, POM) 개념을 도입해서 Apache Ant의 단점인 복잡한 빌드 스크립트를 해결하기 위해 나왔다고 한다.

 

더보기

POM: 프로젝트의 중요한 정보를 정의하고 처리하기 위핸 객체 모델

빌드 : 우리가 만들어낸 산출물(소스코드, xml file, 이미지, jar 등)을 WAS(Web Application Server)가 인식할 수 있는 구조로 패키징하는 과정 및 결과물

 

빌드 툴 : 소스코드에 대해서 컴파일, 테스트, 정적분석 등을 수행하고 실행 가능한 애플리케이션 으로 자동으로 만들어주며, 버전관리 및 라이브러리 관리를 해주는 도구이다.

Spring 프로젝트를 처음 생성하면 디렉토리 최상단에 pom.xml file이 생성된 것을 확인할 수 있는데, 이 pom.xml에 프로젝트 관리와 빌드에 요구되는 버전이나 설정, 환경, dependency 정보를 기술하여 관리한다.

 

  • Gradle

Gradle은 Groovy를 이용한 빌드 툴로, Groovy와 유사한 도메인 언어를 채용하였으며, 안드로이드 스튜디오의 공식 빌드 툴이다. Maven의 단점을 해결하기 위해 나왔으며 XML의 구조적인 틀을 벗어나서 코딩에 의한 간결한 정의가 가능하다.

더보기

Groovy : Java에 파이썬, 루비 스몰토크 등의 특징을 더한 동적 객체 지향 프로그래밍 언어로 , JVM에서 동작한다.