이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 3장
2012. 6. 7. 09:33ㆍ개발관련기록/Servlet_JSP
반응형
이제 메이븐과 이클립스, 톰캣이 모두 같이 연동되도록 설정해보자. 이 과정은 지금 설정하는 필자도 함께 알아가며 하는 과정이기 때문에 문서가 변경될 수 있다는 점을 유의해주길 바란다. 일단 2장까지 설치한 환경을 기본으로 하여 이클립스에서 별도의 세팅없이 모두 한번에 스프링 개발을 메이븐으로 관리하는 것을 목표로 한다.
3. 이클립스의 메이븐 + 스프링MVC 설정
왜 이클립스에서 이런 불편한 설정을 해주어야 할까? 이클립스는 훌륭한 IDE툴이지만 아직 메이븐과 스프링과 톰캣이 제대로 연동될 수 있는 시스템을 사용자의 설정에 맡기고 있다. 물론 JUnit을 활용하여 굳이 서버를 실행시키지 않아도 예상값을 주고 받을 수 있는 환경 또한 구성할 수 있지만 제대로된 확인은 직접 서버를 구동해서 서비스가 어떻게 돌아가는지 확인하는 길일 것이다.
여기저기 많은 예제들이 있지만 현재 작성되고 있는 글은 처음부터 모든 서비스를 일일이 구축하는 과정을 담고 있으므로 제대로 정독하였다면 초기 세팅과정에서 많은 시간을 절약할 수 있을 것이다.
3.1 이클립스에서 MAVEN 플러그인 설치
이제 이클립스에서 maven을 활용할 수 있도록 플러그인을 설치해보자. 설치는 매우 간단한데... 마켓플레이스에서 Maven Integration for Eclipse를 설치하면 끝이 난다.
이 후에 환경설정에서 maven 플러그인을 설치했으니 직접 우리가 로컬로 설치한 메이븐을 잡아주어야 한다.
① 창 - 환경설정에서 Maven - Installations 설정에 들어간 뒤에 ② Add를 누르고 ③ 메이븐이 설치되어 있는 폴더를 설정한다. 그러면 자동으로 C:\JavaDE\maven\conf\settings.xml이 Global 세팅으로 잡히게 된다. 만약에 메이븐이 글로벌로 잡히는 것을 원하지 않는다면 Installations가 아닌 Maven - User Settings 에서 직접 settings.xml파일을 잡아주면 된다.
3.2 이 과정에서 겪었던 시행착오
이제 모든 준비는 끝이 났다. 사실 위에 내용에는 기술하지 않았지만 이 과정에서 엄청난 시행착오가 있어 몇시간동안 헤메였던지라 적을까 말까 고민하다 혹시라도 똑같은 시행착오가 있을 듯 하여 필자가 겪은 몇가지 에러사항을 적어두겠다.
처음 겪었던 시행착오는 바로 이런 다운로드 과정이었다. 인터넷을 돌아다니다 보면 이런 식으로 이클립스와 메이븐이 호환된다고 소개하는 블로그가 많이 있다. 정확히 어떤 차이 때문인지는 모르겠지만 마켓플레이스에서 배포하는 메이븐 통합 플러그인과 위의 URL로 다운받는 메이븐 통합 플러그인은 매우 큰 차이가 있었다. 상기의 URL로 다운받은 플러그인은 maven 프로젝트에는 정상적으로 작동하였지만 필자가 원했던 Spring Template로 작성한 Spring MVC와는 정상적으로 호환되지 않았다. 물론 마켓플레이스에서 받은 통합 플러그인은 maven프로젝트에서도 잘 작동하고 Spring MVC 프로젝트에서도 잘 작동하니 염려할 것 없다.
두번째로는 JDK 에러가 발생할 수 있다. 마찬가지로 위의 URL로 다운받을 시에 생기는 에러일수도 있고 마켓플레이스에서 배포하는 플러그인에서도 발생할 가능성이 있다. 말인즉 이클립스에서 JDK를 로딩할 수 있게 eclipse.ini 파일을 수정해 달라는 요청 에러인데 말그대로 eclipse.ini만 수정해주면 끝이 난다.
에러의 문구는 위와 같으며 만약에 이런 에러가 뜬다면 해결방법은 다음과 같다.
이클립스 폴더 루트에서 eclipse.ini파일을 연 뒤 아래 텍스트를 붙여넣으면 끝이다.
-vm
C:\Program Files\Java\jdk1.6.0_23\bin
반드시 2줄로 나누어서 넣어야 하고 이 문구가 들어갈 위치가 매우 중요하므로 가급적 제일 상단에 넣어주도록 하자. 테스트 해본 결과 openFile 문구 위쪽으로 넣으면 아무 이상없이 동작하는 것을 확인할 수 있었다.
제대로 동작한다면 다음과 같은 방법으로 확인할 수가 있다. "도움말 > Eclipse 정보" 로 이동한 뒤에"Installation Details > 구성"을 확인하면 위와 같이 jvm.dll파일을 eclipse가 매핑하고 있다는 것을 확인할 수 있다.
3.3 Spring MVC로 템플릿 제작!
여기까지 되었다면 이제 슬슬 Spring MVC 프로젝트를 만들어 보자. 기존의 커맨드 창으로 메이븐 프로젝트를 만들려면 커맨드창으로 프로젝트를 생성해야 하는 끔찍한 과정을 거쳐야 했지만 이제 우리가 깔아놓은 세팅 덕분에 이클립스는 자동으로 메이븐 프로젝트를 만들어 줄 것이며 라이브러리 또한 간단한 검색만으로 자동으로 찾아줄 것이다.
Spring MVC 프로젝트의 필드를 모두 채우고 확인을 누르면 이클립스가 개발에 필요한 기본 세팅을 맞춰준다. web.xml에서부터 root-context.xml, servlet-context.xml 세팅까지 모조리 말이다. 게다가 SpringMVC프로젝트가 자동으로 작성해준 pom.xml 정보를 메이븐 플러그인이 읽어들여 프로젝트가 생성됨과 동시에 필요한 라이브러리 목록을 가져와 준다.
이제 당신은 힘겹게 인터넷을 돌아다니며 필요한 라이브러리를 받을 필요가 전혀 없어졌다. 필요한 라이브러리가 있다면 아래의 그림과 같이 pom.xml을 열어 Dependencies에서 검색한 뒤 pom.xml을 저장만 하면 통합 메이븐 플러그인이 알아서 해당 플러그인을 찾아준다. 그야말로 최고의 제작환경이 갖추어 졌다고 할 수 있다.
이제 모든 제작환경이 갖추어졌다. 남은 건 테스트 뿐인데 이클립스에서 톰캣7.0 서버를 등록한 뒤에 이 서버를 이용해 지금 완성한 SpringMVC 프로젝트를 돌려볼 예정이다. 먼저 새로운 서버를 정의해보자.
하단에 패널 중에 서버를 선택한다. 만약에 서버 패널이 없다면 창 - 보기표시 - 서버를 클릭해서 하단 패널에 서버를 추가해줘야 한다. 서버 패널이 생겼다면 패널 내에서 오른쪽 마우스 클릭 후 새로 작성 - 서버를 클릭하면 된다.
서버를 추가하는 과정은 매우 쉽고 간편하다. 이클립스에서 서버 버전을 선택한 뒤에 서버가 위치한 폴더만 지정해 주면 끝이니 말이다. 그리고 서버를 추가하고 자신이 작성하고 있는 프로젝트를 이동시켜주면 끝이다.
이제 모든 설정과 과정이 끝이 났다. 일단 메이븐으로 불러들인 프레임워크와 직접 작성한 클래스를 불러들이는 JSP 뷰를 만들어 보고 서버로 돌려보자.
위와같이 정상적으로 프로젝트가 구동된다면 성공이다. 만약에 실패했다면 힘들더라도 다시 한 번 차근차근 단계를 밟아나가보기바란다. 그리고 기존의 있는 이클립스와 톰캣에서 이 글을 참고해 해당 환경을 구성하려 한다면 예기치 않은 오류들이 발생할 수 있다. 필자도 그런 에러에 지쳐 처음부터 삭제 후 다시 환경을 구성해준 것이므로 처음부터 깔끔하게 지우고 다시 새롭게 시작하는게 여러모로 정신건강에 이롭다.
사실 처음엔 간단히 요약식으로 작성하려다가 필자의 치매끼가 무서워 3부로 구성된 기나긴 포스트를 작성하게 되었다. 근데 사실 만들다 보니 어느새 이클립스에서 플러그인만 다운로드해서 설치하는 듯해 조금 당황스럽다. 사실 중간 과정에서 톰캣의 server.xml에서부터 conf 폴더에 있는 파일이란 파일은 죄다 열어서 수정해보고 별의별일이 있었는데 왠지 모르겠지만 처음부터 다 지우고 시작하게 되니 정상적으로 서버가 운영되었다.
먼저 세팅된 프로젝트 때문이었을 수도 있고 기존의 톰캣 프로젝트로 돌아가던 톰캣의 설정이 갑자기 메이븐 때문에 복잡한 폴더구성으로 서로 엉켰을 수도 있다. 그래도 혹시나 싶어 이클립스와 메이븐 톰캣을 다시 지우고 과정을 재차 밟았더니 동작되었으므로 이 방식은 어느정도 검증이 되었다고 말해주고 싶다.
다시 말하지만 세팅에 시간낭비하는 것만큼 아까운 것이 없다. 개발에 시간을 충분히 쏟을 수 있게 이 포스트로 많은 개발자들이 세팅시간을 단축했으면 하는 바램이다.
반응형
'개발관련기록 > Servlet_JSP' 카테고리의 다른 글
[Spring] 삽질일기 2012-10-30 시작1-기본Project 생성 (0) | 2012.10.31 |
---|---|
org.springframework.web.filter.CharacacterEncodingFilte 의 사용 (0) | 2012.08.23 |
이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 2장 (0) | 2012.06.07 |
이클립스 + 톰캣 + 스프링 MVC + maven 개발환경 구축 - 1장 (0) | 2012.06.07 |
Java 설치 및 환경설정 관련 (0) | 2012.06.05 |