Spring :: 프로젝트 관리 :: Maven, Gradle

2025. 8. 4. 13:03백엔드/Spring Framework

프로젝트 관리 :: Gradle, Maven 이란

자바 프로젝트를 표준화된 방식으로 관리하고 자동화하는 도구

자바 프로젝트 관리의 ‘자동화 매니저’ 역할

 

 

 


Maven

Maven Central 공용 저장소. Maven이 라이브러리를 가져오는 곳

→ Maven Central    https://repo.maven.apache.org/maven2

→ Maven Central 뷰어      http://mvnrepository.com/

 


Maven 핵심 구성요소

settings.xml

사용자별 Maven 설정 파일 (예: 사설 저장소 설정 등)

 

POM.xml (Project of Model) XML 기반

Maven의 중심이 되며, 프로젝트 메타정보, 의존성, 빌드 설정 등이 정의됨

최신 pom정보는 ( maven.apache.org/pom.html ) 에서 얻을 수 있음

포함된 정보

  1. 프로젝트 관계 설정
  2. 프로젝트 기본 정보
  3. 의존 라이브러리 ( dependency ) 관리
  4. 빌드 설정 : 소스/테스트 & 리소스 디렉토리 , 플러그인
  5. 빌드 환경 : 빌드환경 정보, 프로파일

 

라이브러리 초기화

STS는 기본적으로 Maven 을 내장하고 있음

→ 프로젝트 생성시 Maven이 pom.xml 의 정보를 기반으로 필요한 라이브러리 다운로드

 


역할

의존성 관리 (Dependency Management)

    필요한 라이브러리를 자동으로 다운로드하고 버전 관리

빌드 자동화 (Build Automation)

     컴파일, 테스트, JAR/WAR 패키징, 설치, 배포 과정을 자동화

표준 프로젝트 구조 제공

     Maven은 정해진 디렉토리 구조를 따르게 해서 일관성 유지

플러그인 기반 작업 처리

     테스트, 리포트 생성, 문서화, 배포 등을 플러그인으로 확장 가능

라이프사이클 기반 실행

     clean, compile, test, package, install, deploy 같은 일련의 단계를 명령어로 수행

 

 

 


Gradle

핵심 구성요소

build.gradle Groovy 기반 빌드 스크립트

settings.gradle 프로젝트 설정 정보

 

 


역할

의존성 관리

     Maven과 동일하게 Central Repository 또는 JCenter에서 자동 다운로드

빌드 자동화

     컴파일, 테스트, 패키징, 배포 작업 자동 처리

스크립트 기반 DSL

     Groovy 또는 Kotlin으로 빌드 로직 작성 → 유연하고 프로그래밍적

플러그인 기반 확장

     Spring Boot, Android 등 다양한 빌드 플러그인을 추가해 기능 확장 가능

증분 빌드 & 캐시

     변경된 부분만 빌드하므로 속도 빠름

 


Gradle 명령어

     gradle clean 이전 빌드 삭제

     gradle build 컴파일 + 테스트 + 패키징

 

 

 


Gradle vs Maven 장단점

Maven

장점 여러 프로젝트에 쉽게 적용 가능 (사용법이 일관적임)

단점 pom.xml 파일 관리 → 모든 내용이 해당 파일에 담기므로 길고 복잡해짐

 

Gradle

장점 빌드시 빠름 (증분 빌드, 캐시), 커스터마이징에 매우 유연함

단점 복잡함, 상대적으로 학습시 난이도 높음

 

'백엔드 > Spring Framework' 카테고리의 다른 글

Spring :: 날짜/시간 자동 포맷팅  (1) 2026.02.11
Spring :: 페이징 처리 (요약)  (0) 2026.02.11
Spring :: EntityManager  (3) 2025.08.05
JDBC :: 내부 구조 파헤치기  (3) 2025.08.04
Spring :: 주요 모듈  (2) 2025.08.04