lifeCycle


# Phase


◎ Default(build) : 일반적인 빌드 프로세스를 위한 모델이다.
◎ clean : 빌드 시 생성되었던 파일들을 삭제하는 단계
◎ validate : 프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있는지 확인하는 단계
◎ compile : 프로젝트의 소스코드를 컴파일 하는 단계
◎ test : 유닛(단위) 테스트를 수행 하는 단계(테스트 실패시 빌드 실패로 처리, 스킵 가능)
◎ package : 실제 컴파일된 소스 코드와 리소스들을 jar, war 등등의 파일 등의 배포를 위한 패키지로 만드는 단계


- 서로 의존관걔를 지님
> 빌드 순서는 compile => test => package


① compile : src/main/java 디렉토리 아래의 모든 소스 코드가 컴파일 된다.
② test : src/test/java, src/test/resources 테스트 자원 복사 및 테스트 소스 코드 컴파일 된다.
③ packaging : 컴파일과 테스트가 완료 된 후, jar, war 같은 형태로 압축하는 작업.
※ junit : 단위 테스트 프레임워크. 테스트 단계를 거치기 위해 의존 설정을 해준다.

> [[Maven] Maven 이란? (정의, 예제)](https://goddaehee.tistory.com/199)



[Goal - task](https://texonom.com/goal--task-9778f852d69748f3842ed104f3002089)




