SW/Maven

Maven : Plugin, Goal, LifeCycle 개념, 개요, 설명

얇은생각 2024. 1. 11. 07:30
반응형

Plugin / Goal

메이븐의 두 가지 주요 개념, 즉 메이븐 Plugin과 Goal를 배울 것입니다. 메이븐 플러그인은 프로젝트를 생성하고 생성할 때 이미 몇 가지 Goal를 사용한 하나 이상의 Goal 모음입니다. 아키타입 플러그인과 설치 플러그인의 설치 Goal은 일반적으로 독립적으로 실행하는 특정 작업일 수도 있고 여기에서 더 큰 빌드의 일부일 수도 있습니다. 독립적으로 사용하면 컴파일하여 Java 클래스를 컴파일하고 테스트할 수 있습니다.

또한 소스 코드와 테스트를 컴파일한 다음 Surefire 플러그인의 테스트를 실행하는 테스트 목표가 실행되고 테스트가 jar 파일로 전달되면 패키지가 컴파일된 클래스를 패키지하는 더 큰 빌드의 일부가 됩니다. 또는 웹 애플리케이션인 경우 이를 war 파일로 패키징합니다. 이러한 목표는 그룹 ID 아티팩트 ID 등과 같은 여러 매개변수를 지정하거나 언급한 원형 생성 목표를 사용할 때 매개변수를 취할 수도 있으며 기본값을 가질 수도 있습니다. 이러한 매개변수에 대해 아키타입 아티팩트 ID를 전달하지 않으면 아키타입 플러그인에서 목표를 생성합니다.

이는 maven 아키타입 빠른 시작을 기본값으로 가정하고 해당 유형의 프로젝트를 생성합니다. 플러그인 ID 콜론을 사용하여 Goal를 참조합니다. Goal ID 파티 type은 플러그인 ID이고 generate는 Goal ID 그 자체입니다. maven은 프로젝트를 생성하는 방법을 모릅니다. 컴파일하고 패키지로 묶습니다. 작업을 완료하기 위해 컴파일러 jar와 같은 플러그인을 사용합니다. 모든 maven 프로젝트는 다음을 통해 이러한 기본 플러그인 세트를 가져옵니다. 상위 설정을 통해 설정을 적용하지만 pom dot xml에서 정의하여 이를 재정의할 수 있습니다. 예를 들어 나중에 나중 섹션에서 pom dot XML에 정의하여 컴파일러 설정을 재정의하고 버전을 1.8로 전환합니다.

 

 

Maven : Plugin, Goal, LifeCycle 개념, 개요, 설명

 

 

Life Cycle

maven install 명령을 실행할 때 라이프사이클 단계를 언제 실행할지 물었습니다. 메이븐에는 프로세스 리소스 컴파일 테스트 패키지부터 시작하는 여러 라이프사이클 단계가 있으며 간결한 이유로 패키지 사이와 패키지 이후의 일부 단계를 건너뛰었습니다. Maven 패키지를 실행하면 maven은 이전의 모든 단계를 실행한 다음 테스트를 실행하면 특정 단계를 실행하고 프로세스 리소스를 먼저 실행한 다음 컴파일한 다음 개발자로서 테스트 단계를 실행하여 maven 패키지를 실행할 수 있으며 maven 프로세스 리소스를 지정할 필요가 없습니다.

컴파일 테스트 패키지 각 단계 수명 주기 단계는 하나 이상의 Goal과 연결됩니다. 예를 들어 프로세스 리소스는 리소스 플러그인 리소스 Goal과 연결됩니다. 이는 실제 작업을 수행하는 단계입니다. 단계는 내부적으로 알고 있지만 자체적으로 어떤 작업도 수행하지 마세요. 이는 단순히 수명 주기의 일부입니다. 실제 작업은 해당 단계와 관련된 플러그인 목표에 의해 수행됩니다.

여러 Goal을 가질 수 있지만 일반적으로 컴파일 단계의 Goal은 하나뿐입니다. 컴파일러 플러그인과 연관된 컴파일러 목표 테스트와 확실한 테스트 목표 Surefire는 테스트 패키지 jar colon jar 등을 실행할 수 있는 플러그인입니다. Maven 설치를 제공하는 대신 특정 목표를 실행할 때 maven space 확실한 콜론 테스트 maven이 할 것이라고 말할 수도 있습니다. 그런 다음 이 목표와 관련된 단계 전에 모든 단계를 실행합니다.

확실한 테스트는 테스트 단계와 연결되므로 Maven은 프로세스 리소스를 실행하고 관련 Goal은 관련 목표를 컴파일한 다음 마지막으로 실행하면 유사하게 확실한 테스트 코드를 실행합니다. jar 이전의 모든 단계가 실행되고 관련 목표가 실행된 다음 jar 목표는 프로젝트 유형에 따라 실행됩니다. 독립 실행형 Java 프로젝트를 빌드하는 경우 패키지 단계가 변경될 수 있습니다. jar:jar와 연결되어 있고 웹 애플리케이션 프로젝트인 경우 maven은 이를 개발자로서 war:war goal와 동적으로 연결합니다. 일단 이것이 라이프사이클과 Goal이 작동하는 방식이라는 것을 알고 나면 개발한 모든 Java 프로젝트에서 작업할 수 있습니다.

반응형

'SW > Maven' 카테고리의 다른 글

Maven : 개념, 사용해야하는 이유, 장점  (1) 2024.01.10