[java] Maven 플러그인 라이프사이클
Maven은 프로젝트 빌드 및 관리에 사용되는 강력한 도구입니다. Maven은 라이프사이클 개념을 사용하여 빌드 프로세스를 실행합니다. 빌드 과정의 각 단계를 수행하기 위해 플러그인을 사용하며, 이러한 플러그인은 특정 라이프사이클 단계에 연결됩니다.
라이프사이클
Maven은 세 가지 기본 라이프사이클을 정의합니다.
- clean: 빌드 전 전체 프로젝트 청소
- default(또는 build): 프로젝트 컴파일, 테스트, 패키지 등의 빌드 단계
- site: 프로젝트 문서화를 위한 사이트 생성
플러그인
Maven 플러그인은 Maven 빌드 라이프사이클의 각 단계에서 특정 작업을 수행하는 데 사용됩니다. 플러그인을 사용하려면 pom.xml 파일에 해당 플러그인을 추가해야 합니다. 또한, 각 플러그인은 특정한 골(goal)과 바인딩됩니다.
라이프사이클에 플러그인 연결
라이프사이클에 플러그인을 연결하기 위해 pom.xml 파일에서 <build>
섹션을 사용합니다. 각 라이프사이클에 대해 특정한 플러그인과 바인딩된 목표(goal)을 정의할 수 있습니다.
아래는 maven-compiler-plugin
을 사용하여 Java 컴파일 속성을 정의하는 pom.xml 예제입니다.
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
위의 예제에서는 maven-compiler-plugin
을 사용하여 컴파일 시 Java 1.8 버전을 대상으로 하도록 설정했습니다.
결론
Maven 빌드 프로세스는 라이프사이클과 플러그인으로 구성되어 있으며, 플러그인을 사용하여 라이프사이클의 각 단계에서 특정 작업을 수행할 수 있습니다. 이를 통해 Maven은 빌드, 테스트, 패키징, 문서화 등 다양한 작업을 자동화하여 프로젝트를 효율적으로 관리할 수 있습니다.