# 회사 과제중 Maven 을 이용해 사설 저장소를 띄워보는 작업을 진행했다. 그 과정에서 maven에 대하여 다시 공부를 진행하였고 내가 maven 에 대하여 잘 알지 못하는것 같아 다시 한번 정리한다.
Maven이란?
● Maven은 프로젝트 관리도구 , 즉 빌드도구로서 프로젝트의 전체적인 라이프 사이클을 관리하는 도구 이며
많은 편리함과 이점으로 인해 널리 사용되고 있다.
● 프로젝트 객체모델 (project object model:pom) 이라는 개념을 바탕으로 프로젝트의 의존성관리, 라이브러리관리, 프로젝트 라이프사이클 관리 기능등을 제공하는 프로젝트 관리도구 이다. 플러그인을 기반으로 소스코드부터 배포가능한 산출물을 만들어내는 빌드 기능을 제공한다.
# 빌드란 소스코드파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그에 대한 결과물 이다.즉 Jvm이나 톰캣같은 Was가 인식할 수 있는 구조로 패키징하는 과정 및 결과물
Maven 의 특징
● 필요한라이브러리를 pom.xml에 정의만해주면 내가 사용할 라이브러리 뿐만 아니라 해당 라이브러리 작동에 필요한 하위 라이브러리까지 네트워크를 통해서 자동으로 다운받아준다.
● 중앙 저장소를 통한 자동 의존성 관리를 한다. 중앙저장소는 라이브러리를 공유하는 파일서버이고, 저장소는 아파치재단에서 운영관리하는 저장소를 사용할 수도 있고 별도의 사설저장소를 사용할 수도 있다.
Maven의 라이프사이클
● LifeCycle : 미리 정해진 빌드순서
● Default(Build) : 일반적인 빌드 프로세스를 위한 모델이다.
● Clean : 빌드 시 생성되었던 파일들을 삭제하는 단계
● Validate : 프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있는지 확인하는 단계
● Compile : 프로젝트의 소스코드를 컴파일 하는 단계
● Test : 유닛(단위) 테스트를 수행 하는 단계(테스트 실패시 빌드 실패로 처리, 스킵 가능)
● Pacakge : 실제 컴파일된 소스 코드와 리소스들을 jar, war 등등의 파일 등의 배포를 위한 패키지로 만드는 단계
● Verify : 통합 테스트 결과에 대한 검사를 실행하여 품질 기준을 충족하는지 확인하는 단계
● Install : 패키지를 로컬 저장소에 설치하는 단계
● Site : 프로젝트 문서와 사이트 작성, 생성하는 단계
● Deploy : 만들어진 package를 원격 저장소에 release 하는 단계
Maven 설정파일
● settings.xml
# 메이븐 빌드 툴과 관련한 설정파일
● pom.xml (프로젝트 객체 모델 Project object model)
# pom은 pom.xml파일을 말하며 pom.xml은 메이븐을 이용하는 프로젝트의 root에 존재하는 xml파일이다.
maven의 기능을 이용하기 위해 pom이 사용된다.
파일은 프로젝트마다 1개이며 , pom.xml만 보면 프로젝트의 모든 설정, 의존성 등을 알 수 있다.
'Back > Spring' 카테고리의 다른 글
Mock이란 (0) | 2023.10.22 |
---|---|
Jenkins 빌드 / 배포 자동화 구현하기 _ Maven Project (2) | 2023.10.22 |
@Component , @Autowired ?? 사용하는 이유 (0) | 2022.09.01 |
Spring] AOP LOG 파일에 저장하기 (0) | 2022.08.29 |
Spring mvc 환경에서 aop : logging 적용예제 (0) | 2022.08.26 |