기록/BE

[Spring] Maven 개념 및 라이프사이클

코맹 2024. 8. 8. 12:11
💡Maven이란?
라이브러리에 대한 의존 관계 관리 및 소스코드부터 배포 가능한 산출물(artifact)을 빌드하는 빌드 툴(build tool)

 

 

 

maven 빌드 & 라이프사이클

 

빌드(Build)란?
  • 자바코드를 실제로 사용할 수 있게 정리하는 과정
  • compile, test, package, install, deploy 등
라이프사이클이란?
  • 메이븐이 미리 정의하고 있는 빌드 순서
  • 라이프사이클의 각 빌드 단계를 페이즈(phase)라고 한다.
페이즈(phase)
  • 기본 라이프 사이클
    • complie: 소스 파일을 컴파일한다.
    • test: 단위 테스트 실행(기본설정은 단위테스트가 실패하며 빌드 실패로 간주함)
    • package: 컴파일된 클래스 파일과 리소스 파일들을 war 혹은 jar와 같은 파일로 패키징
    • install: 패키징한 파일을 로컬 저장소에 배포(USER_HOME/.m2)
    • deploy: 패키징한 파일을 원격 저장소에 배포(nexus 혹은 maven central 저장소)
  • clean 라이프사이클
    • clean: 메이븐 빌드를 통해 생성된 모든 산출물을 삭제(target 디렉토리에 생성된 산출물 삭제(war 파일 등..)
  • site 라이프사이클
    • site: 메이븐 설정파일 정보를 활용하여 프로젝트에 대한 문서 사이트를 생성
    • site-deploy: 생성한 문서 사이트에 설정되어 있는 서버에 배

 

 

 

 

mvn clean, install

clean: 빌드 시 생성된 모든 것들을 삭제해준다.
  • Maven에서 자체 빌드 수명 주기 단계(action, task)
  • 주로 빌드 결과물인 target 폴더의 내용을 모두 삭제한다.

 

install: 프로젝트를 빌드하여 jar, war 실행 파일을 만들어주는 명령어
  • local repository에 패키지를 배포한다.
  • 의존성 있는 다른 프로젝트에서 local repository에 존재하는 패키지를 참조할 수 있게 된다.

 

 

그 외 메이븐 프로젝트 빌드할 때 오류가 생긴다면 ...

 

프로젝트 빌드 혹은 톰캣 기동시 갑자기 에러가 발생할때.

방금전까지만 해도 jsp를 잘 반환하던 웹프로젝트가 갑자기 404 Notfound를 띄우거나, .xml등 설정파일을 변경했는데 적용이 안됐을때 해볼것.. *개념은 구글링 + 추측으로 작성했으니 틀린부분이 있

soheemon.tistory.com

참고할 것

 

 

 

 

 

참고자료

 

[Spring]메이블(Maven) 개념 정리 | 두발로걷는개

메이븐(Maven) 개념 정리

twofootdog.github.io

 

 

'기록 > BE' 카테고리의 다른 글

[JPA] EntityManagerFactory, EntityManager  (0) 2024.11.11
[Spring] include refid란?  (0) 2024.08.20