Youtube 뉴렉처 강사님의 메이븐 강의를 듣고 정리한 글입니다.
#1. Maven Lifecycle
앞서 우리는 cmd에서 컴파일을 할 때, 패키지를 만들 때 그에 해당하는 명령어를 사용했다.
(mvn compile, mvn package...등) 이 명령어는 Maven이 가지고 있는 빌드 단계에 해당되는 명령어 들이다.
1. 특징
- Maven에서는 미리 정의하고 있는 빌드 순서가 있다. 이 순서를 라이프 사이클(LifeCycle)이라고 한다.
- 라이프 사이클의 각 빌드 단계를 phase라 하며 각각의 phase는 의존관계를 가지고 있어 해당 phase가 수행되려면 이전 단계의 phase가 모두 수행되어야 한다.
- 만약 compile이 실행되려면 그 전 단계들이 실행되어야 한다는 뜻이다.
- 모든 단계는 정적으로 다 실행되는 것은 아니다.
각 단계는 각각 플러그인 형태로 되어있어서 모든 단계들을 빼거나 추가할 수 있다.
또한 각 단계마다 실행할수 있는 플러그인을 교체하거나 버전을 교체할 수 있다.
어디서? POM.xml에서 설정가능 하다.
POM.xml (Project Object Model) 프로젝트가 가지고 있는 모델을 구성하는 파일이다.
- 플러그인이 가지고 있는 기능을 goal이라고 한다.
2. cmd를 통해 각 단계를 확인하는 방법
mvn help:describe -Dcmd=compile 명령어 실행 |
각각의 단계에 설정되어있는 플러그인들을 확인할 수 있다. Maven이 기본적으로 제공하는 플러그인이 있으며, 우리가 원하면 플러그인을 뺄수도, 변경할수도 있다.
3. IDE를 통해 각 단계를 확인하는 방법
기존에 cmd창에서 명령어를 입력하고 컴파일하고 출력하는 것은 너무 재미없다.
Maven은 IDE와 함께 있을 때 그 힘이 커진다.
- IntelliJ를 통해 Maven프로젝트를 실행시켰다.
4. Plugin의 속성을 확인하는 방법
https://maven.apache.org/plugins/index.html
메이븐 홈페이지 - Maven Plugins 메뉴를 눌러보면 각 플러그인의 버전과 기능(goal)들을 확인할 수 있다.
컴파일 플러그인을 눌러보면 Goal을 확인해볼 수 있다.
compile 플러그인은 2개의 goal을 가지고 있다. compile, testCompile
goal이 실질적인 플러그인 역할을 하게 된다.
5. Plugin의 속성을 변경하는 방법
POM.xml을 통해 변경 가능
컴파일러의 버전을 변경해보자.
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
3.6 버전이상 부터는 아래와 같이도 가능
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] HTTP 요청과 응답에 대해 알아보자 (0) | 2021.12.28 |
---|---|
[Spring] 원격 프로그램 실행방법에 대해 알아보자 (0) | 2021.12.27 |
[Spring] Maven에 대해 알아보자 (0) | 2020.09.02 |
[Spring] DB연결, Controller에 대해 알아보자 (0) | 2020.08.20 |
[Spring] 프로젝트 생성 방법에 대해 알아보자 (0) | 2020.08.18 |