본문 바로가기
Spring

Maven이란?

by HTT 2023. 1. 16.

maven

 


오늘은 내가 사용하고 있는 "Maven"에 대해서 정리해 볼 것이다.

 

Maven이란 Java용 프로젝트 관리 도구이다. 사전적 의미로는 숙달한 사람, 프로, 명수(expert), 전문가를 의미한다. 또한 C 샤프, 루비, 스칼라 등의 언어로 개발된 프로젝트들을 빌드하고 관리하기 위해 사용할 수도 있다.

 

 

  • 대표 기능
    1. 빌드 툴
      • 항상 하나의 컴포넌트로 빌드된다.
      • 의존성을 관리한다.
      • 빌드 수행 후 리포트 생성
    2. 패키징
      • 배포 가능한 파일 생성 : war, jar, exe 등
    3. 프로젝트 관리
      • 버전과 릴리즈를 관리
      • 어떤 프로젝트인지 명시하고, 무엇을 만드는지 기록
      • javadoc을 쉽게 작성할 수 있다.
    4. Test
      • 단위 테스트 수행
      • 빌드 결과가 정상적인지 점검
    5. 배포
      • 실운영서버에 배포가 아니다.
      • 해당 프로젝트의 버전을 관리하기위해 특정 원격저장소에 배포하는 것
      • 빌드 후 생성된 아티팩트(컴포넌트)를 로컬 혹은 원격 저장소에 배포한다.

 

 

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

https://mangkyu.tistory.com/8

https://wikidocs.net/18342

 

댓글