Maven은 프로젝트를 빌드하는 데 사용되는 라이프사이클(라이프 사이클)을 정의하고 관리합니다. Maven 빌드 라이프사이클은 다양한 빌드 작업을 순서대로 실행할 수 있도록 돕습니다.
Default 라이프사이클:
default 라이프사이클은 Maven의 주요 빌드 라이프사이클입니다. 이 라이프사이클은 다음과 같은 주요 단계로 구성됩니다:
validate: 프로젝트의 상태를 검증하고 필요한 정보를 수집합니다.
compile: 소스 코드를 컴파일합니다.
test: 단위 테스트를 실행합니다.
package: 컴파일된 코드 및 리소스를 패키징하여 배포 가능한 형식으로 생성합니다.
verify: 통합 테스트를 실행하고 결과를 확인합니다.
install: 빌드된 아티팩트를 로컬 리포지토리에 설치합니다.
deploy: 빌드된 아티팩트를 원격 리포지토리에 배포합니다.
Gradle은 Maven과는 다르게 명시적인 라이프사이클 개념이 없습니다. 대신, Gradle은 빌드 스크립트를 작성하고 원하는 작업을 구성하는 방식을 채택합니다. Gradle에서는 작업(Task)과 프로젝트(Project)라는 개념을 중심으로 동작합니다. 빌드 스크립트에 정의된 작업은 사용자가 명시적으로 호출하거나 의존성 관계를 통해 실행됩니다.
clean 라이프사이클은 빌드 결과물을 제거하는 데 사용됩니다. Gradle에서 해당 작업은 clean 작업으로 대응할 수 있습니다.
gradle clean
efault 라이프사이클은 빌드 프로세스의 주요 단계를 포함합니다. 각 Maven 라이프사이클 단계에 대응하는 Gradle 작업은 다음과 같습니다:
validate -> check: 프로젝트의 상태를 검증하고 필요한 정보를 수집합니다.
compile -> compile: 소스 코드를 컴파일합니다.
test -> test: 단위 테스트를 실행합니다.
package -> jar 또는 war: 컴파일된 코드와 리소스를 패키징하여 JAR 파일 또는 WAR 파일을 생성합니다.
verify -> 사용자 정의 작업 또는 플러그인 작업: 통합 테스트를 실행하고 결과를 확인합니다.
install -> install: 빌드된 아티팩트를 로컬 리포지토리에 설치합니다.
deploy -> uploadArchives: 빌드된 아티팩트를 원격 리포지토리에 배포합니다.