maven
오늘은 내가 사용하고 있는 "Maven"에 대해서 정리해 볼 것이다.
Maven이란 Java용 프로젝트 관리 도구이다. 사전적 의미로는 숙달한 사람, 프로, 명수(expert), 전문가를 의미한다. 또한 C 샤프, 루비, 스칼라 등의 언어로 개발된 프로젝트들을 빌드하고 관리하기 위해 사용할 수도 있다.
- 대표 기능
- 빌드 툴
- 항상 하나의 컴포넌트로 빌드된다.
- 의존성을 관리한다.
- 빌드 수행 후 리포트 생성
- 패키징
- 배포 가능한 파일 생성 : war, jar, exe 등
- 프로젝트 관리
- 버전과 릴리즈를 관리
- 어떤 프로젝트인지 명시하고, 무엇을 만드는지 기록
- javadoc을 쉽게 작성할 수 있다.
- Test
- 단위 테스트 수행
- 빌드 결과가 정상적인지 점검
- 배포
- 실운영서버에 배포가 아니다.
- 해당 프로젝트의 버전을 관리하기위해 특정 원격저장소에 배포하는 것
- 빌드 후 생성된 아티팩트(컴포넌트)를 로컬 혹은 원격 저장소에 배포한다.
- 빌드 툴
maven은 프로젝트 jar 및 라이브러리가 자동으로 다운로드되도록 도와준다. 처음 maven을 사용했을 때 pom(Project Object Model).xml에 필요한 라이브러리 하나만 추가하니 그와 관련된 라이브러리들이 자동적으로 추가되는 것에 신기했던 기억이 있다.
Maven을 사용하는 이유
1. 라이브러리의 관리를 매우 용이하게 해준다.
2. 프로젝트의 작성부터 컴파일, 테스트 등 프로젝트 라이프사이클에 포함되는 각 테스트를 지원해 준다.
3. 소프트웨어 / 프로젝트가 어떻게 개발되고 있는지에 대한 정보를 제공한다.
4. 빌드 프로세스가 더 간단하고 일관성이 있다.
5. 프로젝트 성능을 향상시킵니다.
6. Maven의 새로운 속성으로 이동하기 쉽습니다.
등이 있다.
Maven Repository
Local Repository
: dependency 및 packaging한 프로젝트 결과물이 특정위치에 저장된다.
여러 프로젝트에서 중복된 라이브러리 다운로드를 피하기 위한 목적을 가진다.
Linux & Mac : <홈디렉토리>/.m2
Windows : C:\Users\<유저이름>/.m2
Repository
: 의존성을 다운로드 받을 위치의 repository
기술되지 않을 시 저장되는 기본적인 위치이다.
다수의 repository를 기술할 수 있으며 회사 내부의 repository를 기술하기도 한다.
Plugin Repository
: maven plugin을 다운로드 받을수 있는 저장소 위치이다.
다수의 <pluginRepository> 기술 가능하다.
출처 및 참고
https://ko.myservername.com/what-is-maven-maven-tutorial
'Spring' 카테고리의 다른 글
프레임워크(Framework)와 라이브러리(Library)의 차이점 (0) | 2023.01.19 |
---|---|
2023-01-17 JAVA 미세먼지API (0) | 2023.01.17 |
2023-01-16 JSON, AJAX 랭킹정보 (0) | 2023.01.16 |
2023-01-04 트랜잭션 처리하기 (0) | 2023.01.04 |
2022-12-16,19 mongodb (0) | 2022.12.19 |
댓글