[ 유용한 프로그램 ]

메이븐(Maven) 시작하기 (3/3) [펌]

SojuMan 2010. 7. 8. 16:06

이클립스에서 메이븐 프로젝트를 해보자.

개발을 하는데 이클립스와 같은 IDE를 사용할 수 없다면 생산성이 급격히 낮아질 것이다. 메이븐 프로젝트 역시 마찬가지다. 메이븐이 편리한 도구라서 쓰고 싶은데 IDE를 지원하지 않는다면 무용지물일 것이다. 하지만 메이븐은 좋은 도구답게 이클립스를 비롯한 다양한 IDE를 지원한다. 여기에서도 플러그인이 사용되는데, 조금 재밌는 것은 메이븐에도 이클립스 플러그인이 있고, 이클립스에도 메이븐 플러그인이 있다는 것이다. 두 가지의 차이는 프로젝트를 어디에서 시작을 하는 것이냐는 것이다. 메이븐 이클립스 플러그인은 메이븐에서 먼저 시작하고, 이클립스 메이븐 플러그인은 이클립스에서 먼저 시작한다. 두 가지 모두 사용 가능하지만 결국에는 이클립스의 메이븐 플러그인을 많이 사용하게 될 것이다. 명령어를 치는 것보다 IDE에서 클릭 몇번으로 프로젝트를 생성하고 관리하는 것이 편리하니까..

먼저 메이븐 이클립스 플러그인을 사용하여 보자.

1. 프로젝트를 생성한다.

지금은 이전에 만들어 놓았던 프로젝트를 그냥 쓰기로 하자. ^-^

2. mvn eclipse:eclipse

프로젝트 폴더에서 eclipse 플러그인의 eclipse 골을 실행하는 명령어를 실행한다.

 mvn eclipse:eclipse

'BUILD SUCCESSFUL' 이 보이면서 완료되면 다음과 같은 이클립스 프로젝트 관련 파일들이 생긴다.

  • .project: 프로젝트 설정 파일
  • .classpath: 클래스패스 설정 파일
  • .settings: 기타 설정 파일들을 포함하는 폴더

3. Import Project

이클립스에서 Import Project.. 를 통해 프로젝트를 워크스페이스(Workspace) 내부로 가져온다.

'Existing Projects into Workspace'를 선택하고 메이븐 프로젝트가 있는 경로를 선택해주면 된다.

메이븐으로 이미 만든 프로젝트는 위와 같이 메이븐의 이클립스 플러그인으로 간편하게 이클립스 프로젝트로 만들면 된다.

이클립스에서 전부 다 하자.

이제는 처음부터 이클립스에서 메이븐 프로젝트를 만드는 방법을 알아보자. 그러기 위해서는 이클립스의 메이븐 플러그인을 이클립스에 설치해야 한다. 메이븐 플러그인으로는 M2EclipseQ4E 등이 있다. 둘 중에 아무거나 사용하면 될 것 같다. 나는 이전에 m2eclipse를 설치했는데 요즘엔 q4e가 더 좋다는 것 같기도.. @_@

이클립스의 Software Update에서 다음 사이트(Site)를 추가하고 설치하면 된다.

메이븐 플러그인을 설치한 후에 다음을 진행하도록 하자.

1. 프로젝트를 생성한다.

이클립스에서 다음과 같이 프로젝트를 생성한다. 옵션은 필요에 따라 바꾸면 될 것이다.

다음과 같이 프로젝트가 생성된다.

자동으로 App.java 파일과 AppTest.java 파일이 생성되었고, JUnit 3.8.1과의 의존성에 따라 프로젝트 클래스패스도 만들어졌다.

자동으로 만들어진 App.java, AppTest.java 파일들은 가뿐하게 지워주자.

2. 자바 버전을 5로 올리자.

자바 1.4보다는 자바 5 이상의 버전이 좋다. 메이븐 프로젝트를 처음 생성하면 기본적으로 자바 1.4에 맞춰져 있기 때문에 바꿔주어야 한다.

이전에 했던 대로 POM 파일에서 maven-compiler-plugin 설정을 추가해주면 된다. 직접 파일을 수정할 수도 있겠지만 이클립스의 도움을 받아보자.

이클립스에서 pom.xml 파일을 열면 자동으로 Maven POM editor로 열린다. 에디터 하단에서 plugin 탭을 선택하자. Plugins 부분에서 Add.. 버튼을 클릭하고, Plugin Details 부분에서 다음 그림과 같이 내용을 채워준다.

그리고 Executions 위에 있는 Configuration 링크를 클릭하여 다음 그림과 같이 나머지 설정을 넣어준다.

플러그인을 설정하는 것은 각 플러그인마다 설정하는 항목이 다르므로 결국 수동으로 작성해야 하는 불편함이 있는 것 같다.

이번엔 Dependencies 탭으로 가보자. JUnit 3.8.1이 라이브러리로 등록되어 있는데 자바 5로 올렸으니 거기에 맞게 JUnit도 4.5로 올려주자.

Dependencies 부분에서 junit을 선택하고 Dependency Details 부분에서 버전을 4.5로 바꿔준다.

3. 다른 라이브러리를 더 추가하자.

여기서는 역시 Commons Lang 라이브러리를 사용해보자. POM 에디터의 dependencies 탭에서 직접 추가할 수도 있겠지만.. 조금 더 편하게 라이브러리를 검색해서 추가하는 방법도 있다.

프로젝트에서 마우스 오른쪽 클릭 후 나오는 메뉴에서 Maven > Add Dependency 를 선택한다.

다음처럼 나오는 창에서 라이브러리를 검색하고, 원하는 라이브러리가 보이면 선택한다. 원하는 버전을 골라서 선택할 수 있다.

다음과 같이 commons-lang 라이브러리가 추가된 것을 볼 수 있다.

필요한 라이브러리를 모두 추가했으면 개발을 시작하자.

4. 소스와 테스트 파일을 추가한다.

Sample.java

01.package net.kjunine.maven.eclipse;
02.  
03.import org.apache.commons.lang.StringUtils;
04.  
05.public class Sample {
06.  
07.    public static String reverse(String s) {
08.        return StringUtils.reverse(s);
09.    }
10.  
11.    public static void main(String[] args) {
12.        for (int i = 0; i < args.length; i++) {
13.            System.out.println(reverse(args[i]));
14.        }
15.    }
16.  
17.}

SampleTest.java

01.package net.kjunine.maven.eclipse;
02.  
03.import static org.junit.Assert.*;
04.  
05.import org.junit.Test;
06.  
07.public class SampleTest {
08.  
09.    @Test
10.    public void testReverse() {
11.        String actual = Sample.reverse("hello");
12.        String expected = "olleh";
13.        assertEquals(expected, actual);
14.    }
15.  
16.}

이전 예제에서 사용한 예제 그대로이다. 다른 예제를 만들기가 귀차나서.. ㅠ_ㅠ

에러가 생기면 POM 에디터에서 수정한 사항이 프로젝트에 반영이 제대로 안 된 것이니 프로젝트에서 마우스 오른쪽 클릭 후  나오는 메뉴에서 Maven > Update DependenciesUpdate Project Configuration 을 실행하여 반영시키자.

5. 프로젝트를 테스트하고 빌드한다.

프로젝트에서 마우스 오른쪽 클릭 후 나오는 메뉴에서 Run As > Maven 으로 시작하는 많은 메뉴 아이템들을 볼 수 있다. 콘솔에서 직접 입력해서 실행하던 메이븐 명령어를 방금 언급한 메뉴를 선택하는 것으로 쉽게 실행할 수 있다.

빌드, 테스트 후 그리고 로컬 리포지토리에 설치하려면 아래 메뉴들 중에서 'Maven install' 메뉴를 선택한다.

콘솔 창에 'BUILD SUCCESSFUL' 이라고 메시지가 뜨면 성공한 것이다.

'Maven build...' 메뉴를 선택하면 다음과 같은 팝업창이 떠서 다른 플러그인의 골을 실행할 수 있다. 다음과 같이 exec:java 골을 실행하여 위에서 만든 프로그램을 실행하여 보자.

콘솔 창에 'BUILD SUCCESSFUL' 이라는 메시지와 함께 결과가 제대로 나오는 것을 볼 수 있을 것이다.

자바 프로젝트는 항상 메이븐과 함께 하자.

이제 메이븐의 기초를 배웠으니 자바 프로젝트를 만들 때는 항상 메이븐으로 시작하자. 이클립스 플러그인의 도움을 받으면 몇번의 클릭으로 거의 모든 것을 할 수 있으니 어려워하지 않아도 될 것 같다.

이것으로 첫 시리즈인 메이븐 시작하기 시리즈를 마친다. 자세하게 쓸려고 노력했지만 의미가 충분히 전달되지 않은 것도 많은 것 같다. 잘 이해가 안 가거나 잘 못된 부분은 댓글로 남겨주길 바라고, 더 자세히 알고싶으면 메이븐 홈페이지메이븐 책을 참고하길 바란다.