티스토리 뷰




Spring으로 HelloWorld를 찍어보자 - 제2편 Spring을 할 때 Maven을 사용하는 이유




지난 글 2013/12/30 - [Web개발/Maven] - 빌드(Build)란? Ant, Maven의 차이점 등 에서 '빌드란 무엇인가?'에 대해 이야기를 해보았어요. 빌드 도구는 여러가지가 있지만 Ant, Maven등을 많이 사용한다고 했어요.


이번에는 Maven에 대해 이야기를 해볼까 해요.



먼저 'Maven이 무엇인가?'에 대해 알아봅시다.




1.Maven이란 무엇인가?

Maven은 크게 두가지 기능이 있습니다. 첫번째 라이브러리 관리 기능이에요. Java로 개발을 하다보면 Spring, jdbc, junit, mybaits등 필요한 라이브러리들이 많습니다. maven의 기능을 사용하지 않는다면 .zip형태로 다운받아서 수동으로 라이브러리를 추가 해주는 방식으로 사용합니다.


수동으로 하는 방법이 방법이 훨씬 직관적일 수 있으니까 수동으로 하는 방법도 처음에는 사용할만 합니다. 이를테면 덧셈을 할 때 '1 + 1 = 2'라고 배우기 전에 사과 두개를 그려 놓고 '사과 한개에 사과 한개가 더 있으면 사과 2개이다.' 라고 하면서 배우는 것과 같은 거에요.


나중에는 내가 덧셈을 배울 때 사과로 배웠는지 산까치로 배웠는지 잊어버리듯이 메이븐의 라이브러리 관리는 우리가 처음에 수동으로 라이브러리를 다운로드 받고 경로를 추가해주던지 복사해 주던지 하면서 외부 라이브러리를 관리 하는 대신 .pom에 라이브러리를 추가해주는 것 만으로 다운로드 받고 추가해줍니다.


사용방법은 차차 익히게 될 거에요. 한번에 알기는 힘들기 때문에 지금은 이해가 잘 가지 않더라도 천천히 가보도록해요.


메이븐은 이클립스에 기본으로 탑재 되어 있으므로 별다른 설정 없이 그냥 사용하면 됩니다.


pom.xml이라는 파일에 우리가 만들 App에 어떠한 라이브러리를 사용할 것인지 적어 놓기만 하면 Maven이 알아서 다운 받고 알아서 설치해 주고 경로도 지정해주거든요.


메이븐은 pom.xml이라고 할 수 있어요. 메이븐이 편한 이유는 pom.xml파일만 있으면 Maven이 설치되어 있는 IDE라던지 혹은 시스템에 설치가 되어 있으면 Maven빌드를 통해 해당 파일을 다른곳에서도 쉽게 설치해줍니다. 보통 SVN이나 Git등 리포지토리를 사용하는데요 여기에서 소스코드만 내려 받고 Maven Build만 실행해 주면 필요한 라이브러리를 일일히 다운받을 필요 없이 자동으로 다운받아주거든요.



두번째, 빌드 기능이에요. 빌드란 무엇인지 이전 글에 써 놓았어요. '빌드'기능은 Ant도 가지고 있는 기능인데, 굳이 원한다면 라이브러리 관리는 maven으로 해도 되고 빌드는 수동으로 하거나 Ant를 이용해서 해도 됩니다.



메이븐은 라이브러리 관리 + 빌드 도구에요. 






메이븐이 무엇인지는 알아보았으니 이제는 'Maven을 왜 쓰는지?'에 대해 알아볼게요.








2.Maven을 왜 쓰는가?

Spring을 이용 하던지 그냥 Web Dynamic Project을 만들던지 Java로 프로젝트를 만들때 Maven을 쓰는게 좋아요.


이유는 '편하고 편하므로 편하기 때문'이에요.


특히 팀 프로젝트 할 때는 Maven을 사용하는게 여러모로 편합니다.


팀 프로젝트를 할 때 git으로 손쉽게 소스코드를 공유 하려면 소스코드를 실행하는 환경이 모두 같아야 합니다. 같지는 않아도 '실행'이 되어야 합니다.


그런데 Maven을 사용하지 않으면 환경이 제각각 달라서 소스코드만 git에서 Clone했는데 스프링 라이브러리도 없고, jdbc 라이브러리도 없으면 에러가 납니다.


그러므로 메이븐으로 프로젝트를 만들어서 pom.xml을 같이 공유하여 모든 팀원들이 동일한 개발 환경을 사용하기 위함이 메이븐의 궁극적인 목적이라고 할 수 있어요.


메이븐 사용법은 한번만 익혀놓으면 편하고 시간도 줄고 하니 일단 사용해 보는것을 추천합니다.



또 한가지 '토비의 스프링3'를 따라하다 보면 아래 그림 처럼 어떤 라이브러리를 추가 하라고 나와요.




이럴 때 인터넷 검색해서 다운받고 추가하는 과정을 수동으로 하려면 정말 불편해요. 라이브러리를 추가하는 경우는 여러번 나오기 때문에 메이븐이 있으면 쉽게 처리 해줄 수 있습니다.




앞에 강좌를 보고 STS를 설치 했으면 메이븐이 기본으로 깔려 있을거에요 이제는 사용만 하면 됩니다. 


다음 강좌에서 Spring프로젝트를 Maven으로 생성 해보도록 할게요.



end.



다음 글


2014/01/26 - [Web개발/Spring] - Spring으로 HelloWorld를 찍어보자 - 제3편 Spring Project를 Maven으로 생성해보자








728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함