
오랜만에 작성하는 TIL 입니다.
인턴생활을 하면서 업무에 필요하다고 생각하는 부분들을 추가 공부하는 내용을 중심으로 작성할 예정입니다!
오늘의 주제는 바로 Maven 학원을 다닐 때는 Gradle로만 빌드해봤지만, 투입된 곳에서 사용하는 빌드 도구가 Maven이기 때문에 대략적으로라도 Maven의 개념과 사용방식 등을 알고자 함!
메이븐이란 Java용 프로젝트 관리 도구
Maven 에서 미리 정해진 빌드 순서로 크게 Clean(청소), Default/Build(빌드 및 배포), Site(사이트 문서 생성)로 구분 가능
pre-clean : clean 이전 기초 작업을 수행<!-- pom.xml 작성 예시 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>default-clean</id>
<phase>pre-clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<!-- 여기서 필요한 설정을 추가 -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>clean : 빌드된 아티팩트를 제거 (빌드 후 생성된 target을 제거)post-clean : clean 이후에 필요한 작업을 수행 (위 pre-clean 처럼 프로젝트 별 필요한 설정을 추가하여 사용)validate : 프로젝트가 올바른지, 모든 필요한 정보를 사용할 수 있는지 검증initialize : 빌드 프로세스에 필요한 속성을 초기화generate-sources : 필요한 소스코드를 생성, 주로 코드 생성 도구나 플러그인을 사용하여 필요에 따라 새로운 소스 파일을 생성하는 단계process-sources : 위 생성된 코드를 처리, 즉 생성된 소스 코드를 컴파일 대상에 포함시키거나 추가적인 처리를 수행하는 단계generate-resources : 리소스를 생성process-resources : 생성한 리소스를 target 디렉토리에 복사compile : 소스를 컴파일process-classes : 컴파일된 클래스 파일을 처리generate-test-sources : 테스트 소스 코드를 생성process-test-sources : 생성된 테스트 소스 코드를 처리generate-test-resources : 테스트 리소스를 생성process-test-resources : 테스트 리소스를 처리하여 target 디렉토리에 복사test-compile : 테스트 소스를 컴파일process-test-classes : 컴파일된 테스트 클래스 파일을 처리test : 테스트 실행prepare-package : 패키징을 위한 준비 작업을 수행 (각 프로젝트 별 필요한 작업을 진행)package : 컴파일된 코드를 패키지로 만듭니다. (예: war 파일)pre-integration-test : 통합 테스트를 실행하기 전에 필요한 작업을 수행integration-test : 통합 테스트를 수행post-integration-test : 통합 테스트가 완료된 후 필요한 작업을 수행verify : 모든 검증 작업을 수행하여 품질 기준을 충족하는지 확인install : 패키지를 로컬 저장소에 설치deploy : 패키지를 원격 저장소에 배포pre-site : 사이트 생성을 위한 준비 작업을 수행합니다.site: 사이트 문서를 생성합니다.post-site : 사이트 생성 이후에 필요한 작업을 수행합니다.site-deploy : 생성된 사이트 문서를 서버에 배포합니다.관련 단어
Phase: Lifecycle의 각각의 단계를 Phase라고 함.
해당 Phase가 수행되려면 이전 단계의 Phase가 모두 수행되어야 함Goal: phase 내에서 실제로 수행되는 작업단위를 뜻함.
우선 오늘은 여기까지 알아보도록한다!