Maven 메이븐

박찬미·2021년 3월 3일
0

Spring

목록 보기
1/6

메이븐이란?

자바 프로젝트의 빌드(build)를 자동화해주는 빌드 도구
(= 자바 소스를 compile하고 package해서 deploy 하는 일 자동화)

  • build
    컴파일의 집합(확장)
    사용할 준비가 된 시스템으로 만드는 프로세스 전체

빌드는 컴파일을 한 파일 또는 파일 그룹을 대상으로 행해진다.
컴파일의 산출물은 보통 실행파일이나 오브젝트 파일 또는 어떤 라이브러리가 될 수 있다.
때때로 배포를 위한 시스템을 준비하기 위해 빌드 이후 다른 단계가 존재하기도 한다.

  • compile
    A.java -> A.class
  • build 과정

    1. dependency
      해당 클래스를 컴파일하기 위해 필요한 클래스(혹은 jar) 확인
    2. classpath
      클래스패스 잡아주기
    3. build path
      class 파일로 컴파일하면서 이 class 파일이 어디로 컴파일 되어가는지 정해주기
  • deploy
    배치
    만들어진 프로그램을 서비스 위치로 보내는 작업

Maven이 참조하는 설정 파일

  1. settings.xml
    maven tool 자체에 관련된 설정 담당
    MAVEN_HOME/conf/ 아래 존재(MAVEN_HOME은 환경변수에 설정한 경로)

  2. pom.xml
    POM(Project Object Model)을 설정, 내 빌드 옵션 설정
    하나의 자바 프로젝트에 빌트 툴로 maven을 설정했다면, 프로젝트 최상위 디렉토리에 생성된다.

    - 프로젝트 정보
    - 의존성 라이브러리 정보
    최소한 groupId, artifactId, version 정보 필요
    dependency의 scope 설정도 있음(scope에 대해)
    - 빌드 정보
    빌드와 관련된 정보 설정
    - 배포


LifeCycle

메이븐에도 라이프 사이클이 존재한다.
크게 default, clean, site (세부 phase)

메이븐의 모든 기능은 플러그인(plugin) 기반으로 동작
플러그인에서 실행할 수 있는 각각의 작업 = 골(goal)

하나의 페이즈는 하나의 골과 연결되며, 플러그인에는 여러 개의 골이 존재할 수 있다.

0개의 댓글