메이븐(Maven)

Minseok Ku·2023년 1월 2일
0

Spring

목록 보기
4/5
post-thumbnail

build 란?

  • 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그에 대한 결과물을 말한다.

    우리가 작성한 소스코드(java), 프로젝트에서 쓰인 각각의 파일 및 자원 등(.xml, .jpg, .jar, .properties)을 JVM이나 톰캣같은 WAS가 인식할 수 있는 구조로 패키징 하는 과정 및 결과물이라고 할 수 있다.

Maven 이란?

  • Maven은 자바 기반 프로젝트를 빌드하고 관리하는 데 사용하는 도구이다.

  • 초창기 자바 프로젝트 도구의 대표적인 관리 도구였던 Ant를 대체하기 위해 개발되었다.

    Ant는 스크립트 작성도 많고, 라이브러리 의존관리가 되지 않아 불편

  • Maven의 가장 큰 특징은 pom.xml파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 내려받아 관리한다는 점이다.

Maven의 대표 기능은 다음과 같다.

  • 프로젝트 관리 : 프로젝트 버전과 아티팩트를 관리한다.
  • 빌드 및 패키징 : 의존성을 관리하고 설정된 패키지 형식으로 빌드를 수행한다.
  • 테스트 : 빌드를 수행하기 전에 다위 테스트를 통해 작성된 애플리케이션 코드의 정상 동작 여부를 확인한다.
  • 배포 : 빌드가 완료된 패키지를 원격 저장소에 배포한다.

Maven 생명주기

Maven의 기능은 생명주기 순서에 따라 관리되고 동작한다.
Maven의 생명주기는 다음과 같다.

생명주기 는 크게 기본 생명주기(Default Lifecycle), 클린 생명주기(Clean Lifecycle), 사이트 생명주기(Site Lifecycle)의 3가지로 구분한다. 각 생명주기는 다음과 같은 단계가 존재하며, 특정 단계를 수행하기 위해선 이전 단계를 마쳐야 한다.

기본 생명주기

Validate - Compile - Test - Pacakge - Verify - Install - Deploy

  • Validate : 프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있는지 확인하는 단계
  • Compile : 프로젝트의 소스코드를 컴파일 하는 단계
  • Test : 유닛(단위) 테스트를 수행 하는 단계(테스트 실패시 빌드 실패로 처리, 스킵 가능)
  • Pacakge : 실제 컴파일된 소스 코드와 리소스들을 jar, war 등등의 파일 등의 배포를 위한 패키지로 만드는 단계
  • Verify : 통합 테스트 결과에 대한 검사를 실행하여 품질 기준을 충족하는지 확인하는 단계
  • Install : 패키지를 로컬 저장소에 설치하는 단계
  • Deploy : 만들어진 package를 원격 저장소에 release 하는 단계

클린 생명주기

Clean

  • Clean : 빌드 시 생성되었던 파일들을 삭제하는 단계

사이트 생명주기

Site - Site-deploy

Site : 프로젝트 문서와 사이트 작성, 생성하는 단계
Site-deploy :생성된 사이트 문서를 웹 서버에 배포하는 단계

0개의 댓글