버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

  • Maven은 동작시 표준화된 생명주기를 가지고 있으며 이를 Phase라고도 한다.
  • 개발자는 특정 Phase를 호출할 수 있다(예; mvn compile).
  • 대부분의 Maven Plugin은 특정 Phase에 맞춰서 동작하도록 설계되어 있다.
    • 기존의 빌드 도구는 Phase를 개발자가 임의대로 만들어서 사용했기 때문에 빌드 과정이 표준화되지 못했다.
    • 이런 이유로 각 회사마다, 각 개발자마다 각기 다른 빌드 스크립트를 작성하였고, 빌드 스크립트 구조나 코드 작성 방법도 서로 매우 상이하였다.
    • Maven은 표준화된 Lifecycle을 가지고 있고 그것에 맞춰서 Plugin이 동작하는 구조로 되어 있어서 Plugin을 만들기만 하면 기능을 무궁무진하게 확장할 수 있다.
    • 이러한 일을 주도적으로 하는 것이 Maven 내부에 포함되어 있는 Plexus Container이다.
  • 특정 Phase가 되면 해당 Maven Plugin이 실행된다. 예를 들어 Maven Compile Plugin은 compile Phase를 포함하여 컴파일과 관련된 모든 Phase에서 상황에 맞춰서 동작한다.

Maven

...

Lifecycle과 Plugin의 동작 원리


Image Added

Image Added

Maven Phase의 종류

다음은 Maven의 Lifecycle입니다. Phase라고 부르는 것이 Lifecycle을 처리하는 단계로 보면 되며 Phase = Lifecycle로 봐도 무방합니다. 또한 개발자는 Phase를 직접 지정하여 해당 단계를 까지 실행할 수 있습니다. 다음에서 파란색으로 표시한 Phase는 가장 많이 사용하는 Phase입니다. 예를 들어 compile Phase를 실행하면 validate → compile 까지 실행됩니다. 실행은 mvn compile 로 Maven을 실행하면 됩니다.

...