English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 플러그인

Maven은 다음 세 가지 표준 생명주기를 가지고 있습니다:

  • clean:프로젝트 정리 처리

  • default(또는 build):프로젝트 배포 처리

  • site:프로젝트 사이트 문서 생성 처리

각 생명주기는 일련의 단계(phase)를 포함하고 있습니다. 이 phase는 Maven이 제공하는 통합 인터페이스로, 이 phase의 구현은 Maven 플러그인으로 완료됩니다.

mvn 명령어를 입력할 때 예를 들어 mvn clean, clean은 Clean 생명주기의 clean 단계와 일치합니다. 그러나 clean의 구체적인 작업은 maven-clean-plugin 로 구현됩니다.

따라서 Maven의 생명주기의 각 단계의 구체적인 구현은 Maven 플러그인으로 구현됩니다.

Maven은 실제로는 의존성 플러그인을 실행하는 프레임워크이며, 각 작업은 플러그인으로 완료됩니다. Maven 플러그인은 일반적으로 다음과 같이 사용됩니다:

  • JAR 파일 생성

  • WAR 파일 생성

  • 코드 파일 컴파일

  • 코드 단위 테스트

  • 프로젝트 문서 생성

  • 프로젝트 보고서 생성

플러그인은 일반적으로 목표의 집합을 제공하며 다음과 같은 문법으로 실행할 수 있습니다:

<code>mvn [플러그인-name]:[목표-name]/code>

예를 들어, Java 프로젝트는 Maven을 사용할 수 있습니다.-컴파일러-플러그인의 컴파일-목표 컴파일, 다음 명령어로 사용:

<code>mvn compiler:compile</code>

플러그인 타입

Maven은 다음 두 가지 타입의 플러그인을 제공합니다:

타입설명
빌드 플러그인빌드 중 실행하고 pom.xml 파일의  요소에서 구성.
보고서 플러그인웹사이트 생성 중 실행하고 pom.xml 파일의  요소에서 구성.

다음은 일반적으로 사용되는 플러그인 목록입니다:

플러그인설명
clean빌드 후 대상 파일 정리. 대상 디렉토리 삭제.
컴파일러Java 소스 파일 컴파일.
surefileJUnit 단위 테스트 실행. 테스트 보고서 생성.
jarJAR 파일을 현재 프로젝트에서 빌드합니다.
warWAR 파일을 현재 프로젝트에서 빌드합니다.
javadocJavadoc를 프로젝트에 생성합니다.
antrun빌드 과정의 어떤 단계에서든 ant 작업 집합을 실행합니다.

온라인 예제

우리의 예제에서 많이 사용했습니다. maven-antrun-plugin 컨트롤 타블에 데이터를 출력하려면 확인하세요. Maven - 빌드 구성 파일 장. 이 부분의 내용을 더 나은 방식으로 이해하기 위해 C:\MVN\project 디렉토리에서 pom.xml 파일을 생성하세요.

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0/modelVersion
<groupId>com.companyname.projectgroup/groupId>
<artifactId>project/artifactId>
<version>1.0/version>
<build>
<plugins>
   <plugin>
   <groupId>org.apache.maven.plugins/groupId>
   <artifactId>maven-antrun-plugin/artifactId>
   <version>1.1</version>
   <executions>
      <execution>
         <id>id.clean</id>
         <phase>clean</phase>
         <goals>
            <goal>run</goal>
         </goals>
         <configuration>
            <tasks>
               <echo>clean phase</echo>
            </tasks>
         </configuration>
      </execution>     
   </executions>
   </plugin>
</plugins>
</build>
</project>

다음으로, 명령 터미널을 열고 pom.xml이 있는 디렉토리로 이동한 후 다음 mvn 명령어를 실행하세요.

mvn clean

Maven은 clean 라이프사이클의 clean 단계를 처리하고 표시할 것입니다.

[INFO] 프로젝트 검색 중...
[INFO] ------------------------------------------------------------------
[INFO] 빌드 이름 없음 - com.companyname.projectgroup:project:jar:1.0
[INFO]     작업-segment: [post-clean}]
[INFO] ------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] 작업 실행
     [echo] clean 단계
[INFO] 실행된 작업
[INFO] ------------------------------------------------------------------
[INFO] 빌드 성공
[INFO] ------------------------------------------------------------------
[INFO] 총 시간: < 1 second
[INFO] 완료 시간: Sat Jul 07 13:38:59 IST 2012
[INFO] 최종 메모리: 4M/44M
[INFO] ------------------------------------------------------------------

위 예제는 다음 주요 개념을 보여줍니다:

  • 플러그인은 pom.xml에서 plugins 요소를 사용하여 정의됩니다.

  • 각 플러그인은 여러 목표를 가질 수 있습니다.

  • 단계를 정의할 수 있습니다. 플러그인은 phase 요소를 사용하여 처리를 시작합니다. 이미 사용한 것은 다음과 같습니다: clean 단계.

  • 플러그인의 목표에 바인딩하여 실행할 작업을 설정할 수 있습니다. 이미 설정한 것은 다음과 같습니다: echo 작업을 Maven에 추가-antrun-플러그인의 실행 목표.

  • 이렇게 하면, Maven이 나머지 일을 처리할 것입니다. 로컬 저장소에서 가져올 수 없는 플러그인을 다운로드하고 처리를 시작합니다.