반응형
메이븐
소프트웨어 객체 모델기반 프로젝트 관리 도구.
관리에 필요한 대부분의 작업을 표준화, 자동화하여 곤리 요소들에 대한 일관된 기준을 제시
메이븐 역할
- 디렉토리 구조
프로젝트 혹은 개발자마다 다른 구조를 가질수 있는데 메이븐을 사용하면 기준에 가깝게 정형화된 구조 사용으로 혼란 방지. - 빌드 절차
메이븐의 추성화한 프로세스를 따르면 일관된 바식으로 프로젝트 관리, 운영 - 의존성 라이브러리 관리
소프트웨어 개발시 재사용율을 높이기위해 모듈화 및 여러개의 구성요소 조합 필요, 오픈소스 라이브러리 사용 증가로 관리해야 할 외부 라이브러리 중가에 따라 프로젝트의 복잡도가 높아진다.
따라서 메이븐은 라이브러리 저장소를 통해 의존 관계에 있는 라이브러리를 자동 관리 해준다. - 플러그인을 통한 다양성 기능 확장
소스코드 자동생성 및 리포팅을 위한 작업 등 반복작업 자동화
settings. xml
메이븐 홈 디렉토리 아래에 위치
메이븐 빌드 시 다운로드 되는 라이브러리의 로컬 저장소의 경로 지정
사용자 별 프로파일 정보 설정
pom.xml
메이븐을 사용하는 프로젝트마다 하나씩 필요
프로젝트 객체 모델이라는 형식으로 프로젝트와 관련된 정보를 관리
pom.xml이 관리하는 정보
- 프로젝트의 기본적인 정보를 나타내는 정보(프로젝트를 구분하기 위해 사용하는 고유값을 갖는 식별자)
- 모델버전 : 메이븐의 모델버전을 나타내는 것으로 변경 없음
- 그룹아이디 : 일반적으로 조직의 ㅁ도메인명 사용
- 아티팩트 아이디 : 프로젝트 이름사용
- 버전 : 프로젝트의 버전
- 패키징 정보 : jar,war,pom등의 패키징 형태를 정의
- 최상위 POM설정 상속 - 모든 메이븐 파일은 이를 상속
- 메이븐 내부에서 반복적으로 사용되는 상수값을 정의하는 속성 정보
- 다른 라이브러리와의 의존관계를 나타내는 의존성 정보
- 프로젝트 빌드를 위한 정보로서 플러그인 정보나 빌드 환경을 관리하는 정보
메이븐 수명주기
빌드 수명주기
Compile - Test - Package - Install - Deploy 단게를 거친다.
- Complie : 소스코드를 컴파일하는 단계
- Test : 단위 테스를 수행하는 단계, 실패하는 경우 빌드 실패
- Package : 패키지으이 종류에 따라 결과물을 압축하는 단계
- Install : 로컬 환경의 로컬 저장소에 패키징한 결과물을 배포하는 단계
- Deploy : 원격 저장소에서 패키징한 결과물을 배포하는 단계
클린 수명주기
클린 단계로 구성되는데 메이븐 빌드를 통해 싱성된 산출물을 삭제
클린을 수행하면 Target 밑의 모든 내용 삭제
반응형
'What i learn.' 카테고리의 다른 글
[What I Learn] AWS Associate Certification -1 (0) | 2021.05.31 |
---|---|
[What I Learn] HashMap사용 (0) | 2021.05.03 |
DevOps 에 관하여 (0) | 2021.04.05 |
[What I Learn] Git Flow( using Git Extension) (0) | 2020.11.17 |
[What I Learn] MVC의 service vs Dao (0) | 2020.11.16 |