Tag Archives: Maven

[Java/MVN] 기존의 프로젝트에 Maven 도입하기

Maven은 매우 획기적인 방법의 라이브러리 관리툴인것 같습니다. 기존의 운영중인 프로젝트에 Maven을 도입하는 방법을 정리해 보겠습니다. 이 과정은 eclipse + m2eclipse 에서 이루어 졌으며 설치 및 세팅 방법은 [여기]에 정리해 두었습니다.

사용자 삽입 이미지
m2eclipse 플러그인이 정상적으로 설치가 되었다면 프로젝트를 선택하고 오른쪽 버튼을 클릭시에 위와 같이 Configure아래에 Convert to Maven Project가 있습니다.

사용자 삽입 이미지
이것을 선택하면 위와 같이 POM.xml 파일을 만드는 과정이 나오는데요. Group Id는 프로젝트의 그룹의 식별자를 나타냅니다. 쉽게 생각해서 프로젝트의 패키지명을 생각하시면 될 것 같습니다. Artifact Id는 이 프로젝트를 나타내는 이름을 쓰시면 됩니다. 기존의 거의 대부분의 Maven Repository에 등록된 라이브러리들은 Group IdArtifact Id를 소문자와 대시(-) 구성하더군요. 편하신대로 하시면 됩니다.

사용자 삽입 이미지
이제 POM.xml이 만들어 졌습니다. 이 파일을 더블클릭해서 열어보면 위와 같이 아름다운 설정 화면이 뜨게 되는데요. 라이브러리는 Dependencies 탭에서 추가를 하면 됩니다. Add를 눌러 라이브러리를 추가해 봅시다.

사용자 삽입 이미지
이것이야 말로 신기원! 빨간색 네모 박스 안에 검색 키워드를 넣게 되면 하단에 검색된 라이브러리들이 출력됩니다. 라이브러리앞의 삼각형을 누르면 버전 리스트들이 나오게 됩니다. 여기서 자신이 원하는 라이브러리와 버전을 선택하시면 됩니다.

사용자 삽입 이미지
이런식으로 원하는 라이브러리를들을 추가해 주시면 알아서 필요한 의존성까지 체크하여 알아서 추가 등록까지 해줍니다. 정말 편하고 좋네요. 참고로 추가된 라이브러리가 제대로 등록되지 않는것 같아 보일때는 Project – Clean 한번 하시면 됩니다.

사용자 삽입 이미지
간혹 처음부터 Maven프로젝트로 시작하지 않고 중간에 변경할 경우 소스 디렉토리가 더이상 소스디렉토리로 인식되지 않는 경우가 있습니다. 이경우 프로젝트의 설정에 가서 src를 선택해 주시면 됩니다.

사용자 삽입 이미지
이제 해야 하는 설정은 필요한 경우에만 하면 되는 설정입니다. 디플로이시에 Maven에 추가한 라이브러리들이 빠지는 문제가 있는데요. 위와같이 프로젝트 설정에 가서 Next를 누르게 되면…

사용자 삽입 이미지
위와 같이 Maven Dependencies 가 나오게 되는데 선택해 주시면 Maven으로 추가한 라이브러리들도 Deploy 결과물에 포함되게 됩니다.

사용자 삽입 이미지
또 대단한게 Effective POM 탭에 가보시면 좀더 효율적으로 짜여진 POM파일의 예시를 보여줍니다. 이 탭을 참고하여 자신이 얼마나 효율적으로 Dependencies 설정을 하였는지 확인해 볼 수 있습니다.

[Java/m2eclipse] Maven + Eclipse 플러그인 설치하기

규모를 예측하기 어려운 프로젝트, 온갖 라이브러리를 다 가져다 쓰는 프로젝트. 자바 프로젝트를 진행하다 보면 라이브러리를 최소 10개 이상은 쓰는것 같네요. 이 수많은 라이브러리들 간에는 또 의존관계까지 있습니다. 이런것들을 자동으로 관리해주고 추가적으로 프로젝트 관리를 위한 편리한 기능들을 가지고 있는 maven을 이클립스에서 사용하기 위한 방법을 정리해 보겠습니다.

1. maven 다운로드 하기

사용자 삽입 이미지http://maven.apache.org/download.html 페이지에 방문하여 바이너리를 다운받습니다. 자동설치 파일같은것은 제공하지 않습니다. 다운받아 적당한 위치에 압축을 풀어 놓으면 바로 사용 가능합니다.

2. 환경 설정 하기

사용자 삽입 이미지maven이 설치된 경로를 Path에 추가해 줍니다. 저는 그냥 D:\maven에 설치해 두었습니다. 여기서 주의할 점은 maven밑의 bin 디렉토리를 Path에 잡아주셔야 합니다.

사용자 삽입 이미지자 이제 cmd에 들어가서 실행해 봅시다. 이런 에러가 발생하는군요. JAVA_HOME이 설정되어있지 않으면 실행이 안됩니다. 이 환경 설정을 추가해 주도록 합시다.

사용자 삽입 이미지시스템 변수 → 새로 만들기 → 변수 이름을 JAVA_HOME으로, 변수값을 JDK경로로 추가해 줍니다.

사용자 삽입 이미지이제 잘 실행됩니다.

3. m2eclipse 설치하기

사용자 삽입 이미지이클립스에 들어가서 Help → Install New Software 에서 위와 같이 새로운 업데이트 저장소를 추가해 줍니다. 추가해야 하는 주소는 http://download.eclipse.org/technology/m2e/releases 입니다.

바뀔수도 있으니 [이곳]에서 확인하도록 합시다.


사용자 삽입 이미지설치가 완료되면 재시작을 하시면 됩니다. m2eclipse 설치 후 처음 시작시 위와같이 인덱스 파일이라는것을 다운받는데 조금 오래 걸리더군요.

4. 원격지 maven 프로젝트 다운받기

사용자 삽입 이미지이제 새로운 프로젝트에 위와같이 Maven이 추가된것을 볼 수 있습니다. Checkout… 을 선택해 봅시다.

사용자 삽입 이미지SCM URL의 카테고리에 아무것도 나오지가 않는군요;; 오른쪽 아래에 있는 m2e Marketplace를 눌러 추가 저장소 커넥터 라이브러리를 추가할 수 있습니다.

사용자 삽입 이미지리스트의 거의 마지막에 주르륵 나옵니다. 자신이 필요한 저장소를 추가해 줍시다. 저는 SVN을 사용하기 위해 m2e-subversive를 추가하였습니다.

사용자 삽입 이미지이제 잘 되는군요. 테스트로 Spring Framework에서 제공하는 MVC 샘플을 다운받아 보겠습니다. 보통 maven프로젝트의 경우 POM.xml파일이 보이는 trunk경로를 지정해 주시면 됩니다.

사용자 삽입 이미지워크스페이스의 위치나 프로젝트 이름을 지정할 수 있습니다. 일단 finish하겠습니다.

사용자 삽입 이미지프로젝트를 다운받은 뒤에 의존성 있는 라이브러리를 연달아 다운받습니다. 정말 멋지네요~

참고: