[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 M2Eclipse인 게시물을 표시합니다. 모든 게시물 표시
레이블이 M2Eclipse인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 25일 금요일

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

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

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

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

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

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

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

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

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


My Comment..
메이븐이라는 것은 과거부터 얘기만 들었지 내가 써본적은 없다.. 그래서 해당 글은 좀 고민을 하다가 갖고 왔다.. 글에 언급된 Ant 는 직접적으로 관여해서 썼다기보다는 누군가 해둔 것을 잠시 활용만 해봤던 적은 있다.. 그러다보니 개념은 안드로메다에 있는 실정이고.. ㅎㅎ..

2016년 3월 8일 화요일

[Tool]Eclipse에 m2eclipse 설치후 "Maven Integration for Eclipse JDK Warning" 경고..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

프로젝트 빌드툴인 Maven을 사용하기 위해서 이클립스 Maven 플러그인인 M2Eclipse를 설치한 후에 이클립스에서 빌드할때마다 다은과 같은 메시지가 떴습니다.

"Maven Integration for Eclipse JDK Warning" 경고창

Maven Integration for Eclipse JDK Warning
The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDK.

Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that Installed JREs are also using JDK installs.

원래 이클립스는 JRE만 있어도 동작이 가능한데 Maven 코어의 플러그인들이 JDK의 jars를 사용하고 있기 때문에 JDK가 필요하므로 eclipse.ini에서 -vm옵션으로 JDK를 설정하라고 하네요. 여기저기 찾아보니 제목처럼 이건 error이 아니고 warning이기 때문에 Maven을 사용하지 않으면 "Do not warn again"을 사용해도 문제가 없다고 합니다. 전 Maven을 쓸려고 설치한거니까 이 경고를 해결해야 했습니다.

경고에 나온대로 이클립스 폴더 루트에 있는 eclipse.ini를 수정해 주면 됩니다.  아래는 저의 eclipse.ini 입니다.

--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
C:\Program Files\Java\jdk1.5.0_16\bin\
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m


빨간색으로 표시한 부분이 JDK설정을 위해서 새로 추가한 부분입니다. -vm으로 설치된 JDK의 bin경로를 설정해 준 뒤에 이클립스를 재시작하면 경고가 사라집니다. 이걸 해결하자 이클립스 기동한다음에 "Initializing Java Tooling"가 Deadlock에 걸렸는지 1%위로 올라가지 않고 계속 돌아가는 문제가 있었는데 그것도 사라져버렸군요.(같은 원인이었는지는 잘 모르겠네요.)

제대로 설정되었는이 이클립스내에서도 확인 가능합니다.(3.5버전인 Galileo를 사용중입니다.) 메뉴에서 [Help] - [About Eclipse] 를 실행하면 아래와 같은 이클립스 정보가 나타납니다.

About Eclipse 창

아래의 "Installation Details"버튼을 클릭합니다.

Eclipse Installation Details창의 Configuration탭 부분

Configuration탭 부분에 가면 eclipse.ini에서 설정한 내용이 정상적으로 등록되어 있는 것을 확인 할 수 있습니다.