Maven 입문 | Maven 프로젝트 작성 | 메이븐 골(goal)


앞에서 프로그램을 작성하고 실행까지 할 수 있었다. 여기에서 앞에서 가볍게 통과 한 “골"에 대해 설명한다.

Maven goal에 대해

프로그램을 빌드하기 위해 “mvn package"라는 명령을 실행했다. 이 “package"라는 것이 골(goal)이라는 것이라고 앞에서 언급을 했었다. (골은 목표라고 해석된다)

골이라는 것은 Maven에서 “처리의 역할"을 나타낸다. Maven은 어떤 역할 처리를 실행시킬 것인지를 지정한다. 이것이 골이다.

먼저 프로젝트를 만들 때, mvn archetype:generate라고 명령을 실행했었다. 이것도 “archetype:generate"라는 골을 지정하여 실행한 것이다. (정확하게는 archetype은 플러그인으로 플러그인의 generate라는 목표를 실행하는 것이다)

Maven은 뭔가를 할 때, 먼저 “무엇을 할 것인가"를 명확하게 한다 (이것이 골이다). 그리고 그것을 실행하는데 필요한 인수와 정보를 입력하면, 지정된 골에 대한 처리가 실행된다. 어떤 골이 있는지를 알아야 것도 Maven을 이해하기 위해 필요하다.

우선, 지금의 단계에서는 기본 골인 다음의 것만 알아두기로 한다.

package

이미 사용했던 것으로 패키지를 생성하기 위한 것이다. 이것은 이후에 compile, test-compile, test도 내부에서 모든 실행한다.

compile

프로그램을 컴파일한다. 그러나 Jar 파일은 생성하지 않는다.

test-compile

테스트 프로그램을 컴파일한다. 이는 src 에서 test 폴더에 있는 소스 코드를 컴파일한다.

test

테스트를 실행한다. 이것은 src 에서 test 폴더에 준비한 테스트 프로그램을 실행한다.

clean

컴파일에서 생성된 각종 파일을 모두 삭제한다. 컴파일으로 만든 불필요한 파일을 지우고 싶을 때 사용한다.

이 외에도 골은 여러가지 있다. 또한 archetype:generate처럼 플러그인으로 추가되는 골도 있다. 이외의 것은 필요하게 되는 시점에 순차적으로 설명하겠다.