Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

[Book] 자바 세상의 빌드를 이끄는 메이븐

자바 세상의 빌드를 이끄는 메이븐

자바 세상의 빌드를 이끄는 메이븐 - 8점
박재성 지음
한빛미디어

앞에서 포스팅했던 대로 저는 이 책의 베타리더로 작년에 초안을 미리 읽었었습니다. 저자만큼은 아니겠지만 베타리딩을 하면 왠지 더 책에 정감이 가게 되는것 같습니다. 베타리딩을 한 것을 초안이었기 때문에 책을 받고 다시 읽어보았습니다. 전체적으로 흐름도 깔끔하고 내용도 명확하게 잘 정리되어 있다는 느낌입니다.

메이븐은 현재 국내에서도 많이 보급이 되고 있다는 느낌이 있기는 하지만 전체적으로 보면 아직은 도입시기로 기술을 선도하거나 새로운 기술을 잘 받아들이는 조직위주로 많이 쓰이고 있다고 생각하고 있습니다.(메이븐이 최고다라는 의미는 아닙니다.) 하지만 대부분의 오픈소스 프로젝트를 받아서 사용하려고 보면 상당수가 메이븐을 사용하고 있기 때문에 자신의 프로젝트에서 메이븐을 쓰지 않는다고 하여도 메이븐에 대해서 익혀볼 가치는 충분하다고 생각됩니다.




이 책의 전개는 메이븐의 사용법을 열거한 레퍼런스 타입은 아니고 박재성님이 위키북이라는 프로젝트를 진행하면서 메이븐을 사용하기로 결정하고 프로젝트를 진행하면서 단계별로 메이븐을 테스트하고 작용하면서 확장해 나가는 단계를 프로젝트 진행 타임라인대로 설명해 놓은 책입니다. 단순히 메이븐에 대한 사용법뿐만 아니라 프로젝트를 진행중 메이븐을 도입하면서 고민했던 부분이나 프로젝트에서 발생한 이슈들을 메이븐으로 어떻게 풀어나갔는지에 대한 고민이 그대로 담겨져 있습니다. 이러한 부분들은 다른 프로젝트에서도 충분히 공통적으로 발생할 수 있는 이슈들이기 때문에(사실 일반적으론 이정도도 고민을 하지 않죠. ㅎ) 현재 프로젝트에 메이븐을 적용하려고 한다면 정말 많은 도움이 될 수 있을 꺼라고 생각합니다.

메이븐에 대한 설명은 터미널에서 명령어로 사용하는 것을 위주로 되어 있습니다. 메이븐을 쓸 때 이클립스에서 많이 쓰는 m2eclipse에 대해서는 한 챕터정도만 설명이 되어 있을 뿐이고 중간중간 약간의 가이드만 되어 있을 뿐이고 대부분은 직접 터미널에 명령어를 입력해서 사용하는 것으로 설명하고 있습니다. 저를 포함해서 대부분의 개발자들이 GUI툴에 익숙하고 거의 GUI툴만 쓰기 때문에 이런 부분은 직접 와닿지 않고 약간 돌아가는 느낌이 있을수 있지만 개념을 잡기에는 터미널을 위주로 설명하는 것이 훨씬 좋다고 생각합니다.

저도 최근에는 터미널을 많이 사용하지만 메이븐은 거의 m2eclipse로만 사용하고 있었습니다. 사실 m2eclipse는 그리 안정적인 플러그인이 아니라서(써보신 분들은 아실듯...) 문제가 생기면 해결하기 위해서 터미널로 가서 mvn eclipse:eclipse를 입력하곤 했지만 이 명령어가 무슨 의미인지도 잘 모르고 사용했습니다. GUI툴은 사용하기는 편리하지만 개념을 잘 잡고 있지 못하고 쓸때는 문제가 생기면 정말 해결하기가 어려운 편인데 이 책에서 명령어로 일일이 설명해 주고 있기 때문에 설사 m2eclipse를 쓰고 있다고 하더라도 메이븐의 동작 개념을 잡기가 정말 좋습니다.(물론 연습도 터미널로 하면 이해하기가 훨씬 좋겠죠. ㅎ) 저도 앞으로는 이 책을 참고삼아 터미널 위주로 사용을 하려고 하고 있습니다.




저는 Ant도 제대로 써본적이 없어서 잘 모르지만 Maven은 많은 부분이 자동화되어 있어서 처음에 동작원리를 배우기가 어려운 부분이 있습니다. 하라는대로 하니까 프로젝트 설정이 되기는 했는데 어떻게 된건지 잘 모르는 상황인거죠. 하지만 어느정도 사용하다보면 리아브러리 디펜던시관리나 프로젝트 설정관리등이 너무 편하고 공유하기에도 좋아서 금새 빠져들게 됩니다. 처음 메이븐을 접했을 때는 자료도 많지 않고 공부하기가 어려웠었는데 현재 국내에는 번역서인 Maven : Sonatype이 만든 Maven 핵심 가이드 다음으로 나온 두번째 메이븐에 대한 책입니다. 먼저 나온 책을 아직 보지는 않았지만 이 책에서는 단순히 메이븐에 대한 사용법이 아닌 메이븐의 개념을 알려주려고 하는 노력이 많이 느껴지기 때문에 그 개념을 제대로 공부한다면 차후에 메이븐을 더 다양하게 활용할 수 있을것이라고 생각됩니다.
2011/04/26 03:16 2011/04/26 03:16