[Spring] Maven 빌드 도구

류넹·2024년 2월 20일
1

Spring

목록 보기
6/50

# 목적

  • Maven 빌드 도구에 대한 이해




빌드 도구(Build Tool) 란?

  • 프로젝트 생성, 컴파일, 테스트, 패키징, 배포 등의 작업을 위한 전용 프로그램




💡 Maven

  • 자바용 프로젝트 관리 도구
  • 프로젝트의 전체 라이프 사이클을 관리하는 도구
  • 프로젝트의 생성, 컴파일, 빌드, 패키징, 배포 등의 작업을 수행할 수 있다.
  • 프로젝트 구조 및 빌드 단계를 표준화할 수 있고, 종속성(의존하는 라이브러리) 관리를 효율적으로 처리할 수 있다.



Maven의 특징

  1. Project Object Model(POM)
    • 프로젝트의 구조, 라이브러리 의존성, 빌드 설정 등을 정의하는 XML 파일
    • pom.xml은 프로젝트의 메타정보를 포함하고 있으며, maven은 이 정보를 바탕으로 프로젝트를 빌드하고 종속성을 관리한다.
  1. 의존성 관리
    • 프로젝트가 필요로 하는 외부 라이브러리 및 종속성을 관리
    • pom.xml 파일에서 종속성을 선언하면 maven이 해당 종속성을 자동으로 다운로드하고 프로젝트에 포함시킨다.
  1. 다양한 플러그인
    • 컴파일, 테스트, 패키징, 배포 등을 지원하는 다양한 플러그인을 제공
    • 사용자는 필요한 작업을 수행하기 위해서 플러그인을 등록할 수 있다.
  1. 중앙저장소 제공
    • 중앙저장소를 통해 라이브러리와 플러그인을 제공한다.
    • 사용자가 필요로 하는 라이브러리와 플러그인을 다운로드할 수 있고, 자신이 제작한 라이브러리나 플러그인을 배포할 수 있다.
  1. 빌드 라이프 사이클 제공
    • 미리 정의된 빌드 라이프 사이클을 제공한다.
    • maven은 clean, compile, test, package, install, deploy 등의 단계로 구성된 일련의 빌드단계가 있다.
      * ant는 이런 빌드단계를 일일이 설정해줘야 한다.
      * maven은 설정을 하는 게 아니라 미리 정해져 있는 관례를 따른다.




❓ IDE로 하면 되지, 왜 굳이 Maven 사용?

  • 리눅스 서버PC에서는 IDE로 실행하지 않기 때문에
    Ant, Maven 등의 빌드 도구를 통해서 컴파일하고 실행한다.


https://mvnrepository.com/search?q=spring-context

profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글