TIL: [Maven] Maven Wrapper이란?

참고

  • https://www.popit.kr/how-to-use-maven-wrapper/
  • http://maven.apache.org/

Maven이란?

Maven은 Java 프로젝트의 전체적인 라이프 사이클을 관리하는 도구이다. 이전에는 Ant가 사용되었스며, 최근에는 Gradle이 사용되고 있는 추세이다. 이는 Apache License로 배포되는 오픈 소스 소프트웨어이다.

Maven Lifecycle

Maven Lifecycle이란 Maven에서 미리 정의하고 있는 빌드 순서를 의미한다. 그리고 라이프 사이클의 각 빌드 단계를 Phase라고 한다. 또한 이런 각 Phase들은 의존관계를 가지고 있다.

plugins

Maven은 plugins을 구동해주는 프레임워크이다. 모든 작업은 플러그인에서 수행한다. 플러그인은 저장소에서 관리된다.
Maven은 여러 plugins로 구성되어 있으며, 각각의 플러그인은 하나 이상의 goal(명령, 작업)을 포함하고 있다. Goal은 Maven의 실행단위이다.

Maven Wrapper

mvnw라고도 불리는 Maven Wrapper는 Apache Maven을 프로젝트에서 요구하는 버전으로 유지하기 위해 사용하는 도구이다. 복잡해지는 빌드 환경을 Maven Wrapper를 이용해 해결할 수 있다.