1. 스프링 개발환경 셋팅하기
- 꼬반
- 2012. 3. 28. 16:55
메이븐과 스프링 기반의 이클립스 개발환경 셋팅하는 방법을 정리하여 포스팅 합니다.
해당 환경의 목표는 Eclipse Indigo + Tomcat 7.0.26 + 스프링 MVC + maven 이며,
아래 내용은 다음 블로그에서 가져왔습니다.
출처 : http://springmvc.egloos.com/429363
이 세팅은 가난한 개발자들이 필수적으로 갖추어야 할 기본포맷이다. 이 세팅 그대로 서버에 업로드 할 수도 있고, maven을 활용해 개발해놓은 자료들을 jar로 압축하여 심플하게 서버에 업로드할 수도 있다. 그러므로 개발환경 구축에 있어서 스프링을 활용하고, maven으로 버전관리를 함과 동시에 다양한 자바 오픈소스들을 최신버전으로 유지하고 싶다면 필수적으로 위의 구축환경을 갖추고 있어야 한다. (사실 이 글을 쓰는 시점엔 maven은 아직 잘 알지 못하여... 글을 써나가면서 어느 정도 알아가야겠다.)
헌데 세상에 나보다 잘난 개발자들이 넘쳐나는데도 굳이 내가 이 글을 쓰는 이유는... 이것이 가난한 개발자, 또는 개발 테스트 세팅의 가장 기초적인 베이스면서... 이 세팅을 완벽하게 구축할 수 있는 참고 블로그 글을 찾을 수 없었다는 거였다. 세팅에 시간과 돈을 투자하는 것만큼 부질없는 짓이 없다 생각하는 나로써는 이 글을 문서로 남겨 다른 개발자들이 참고할 수도 있게 하고 나의 치매끼를 위해서라도 문서로 남겨두는게 좋다는 이유에서다.
개인적으로 이클립스의 무시무시한 IDE가 이러한 세팅과정을 해결해주리라 믿었지만 경험해본 결과 스프링 MVC는 톰캣과 연동되려면 개발자가 직접 세팅에 참여하는 게 필수적이다. 제대로된 개발환경을 구축하려면 기본세팅만으론 해결할 수가 없다. 차후에 이클립스가 이런 불편함을 부디 해결해주기 바란다. 지금부터 내 컴퓨터에 남아있는 기존의 이클립스와 톰캣을 깔끔하게 지우고 처음부터 다시 시작해본다.
1장 이클립스 설치
1.1 이클립스 다운로드
http://www.eclipse.org/downloads/
이클립스는 하단의 URL에 들어가 Eclipse IDE for Java EE Developers, 212 MB를 선택해 받길 바란다. javaEE를 받는 이유는 어차피 Spring이 Enterprise Edition을 돕는 프레임워크인데다 지금 톰캣을 설치하고 mysql을 설치하는 이상 javaEE의 도움을 안받을 수가 없기 때문이다.
JavaSE : 일반적으로 자바프로그래밍 언어와 소규모 어플리케이션 및 애플릿을 작성하는 제품.
JavaEE : 기업용 플랫폼이며 서버에서 실행되는 대형분산 및 확장, 트랜잭션, 보안 등 각종 기능을 제공하는 제품.
JavaME : 소형용 플랫폼이며 작은 규모의 서비스를 개설하려는 소비자들을 위한 기능만을 추려낸 제품.
1.2 이클립스 STS (SpringSource Tool Suite) 설치
STS는 스프링의 개발을 돕는 매우 강력한 기구이다. 그리고 이 툴을 다운받으면 프로젝트 생성에 강력한 혜택을 받을 수 있다. Spring 개발자에겐 필수 툴이니 반드시 설치하도록 한다.
: Help -> Eclipse Marketplace.. -> SpringSource Tool Suite 검색 -> SpringSource Tool Suite for Eclipse Indigo (3.7 - 설치하는 이클립스 버전에 맞게 선택) Install
이클립스의 마켓플레이스를 활용해서 STS 플러그인을 설치해보도록 하자. 마켓플레이스에서 SpringSource Tool Suite를 검색한 뒤에 Indigo(3.7)버전을 위한 STS를 다운 받도록 하자. 이클립스의 버전에 대해 간혹 헷갈려 아무거나 설치하는 사람들이 있는데 Indigo - Heilo - Galileo의 3가지 버전이 있다. 현재 Indigo(3.7)버전이 최신이며 우리가 설치한 소프트웨어 또한 Indigo 3.7버전이다.
STS를 설치하였다면 이제 당신은 Spring 개발환경을 갖춤과 동시에 한글화시킨 이클립스 개발환경을 갖추게 되었다. 허나 좋아하긴 아직 이르다. SpringMVC를 활용하려면 maven과 톰캣 설치가 필수적이다. 이후의 글은 2장에서 계속 잇도록 하겠다.
2. 톰캣 설치하기
2.1 톰캣 바이너리 버전 다운로드
톰캣은 워낙 많은 사람들이 애용하는 프로그램인지라 Apache 답지 않게 이 프로그램에 대한 윈도우 인스톨 버전을 따로 만들어 두었다. 하지만 톰캣 윈도우 인스톨 버전은 간편하고 서버를 구동하기도 쉽지만 개발자라면 서버 환경에서도 톰캣을 실행하고 여러가지 명령어들을 익혀두어야 하기 때문에 binary버전에 익숙해지는 것이 필수적이다.
http://tomcat.apache.org/download-70.cgi
위의 주소에서 최신 버전의 톰캣을 다운받아 설치하도록 하자. 운영체제에 맞는 버전을 다운 받으면 된다.
그러므로 이 글에서도 톰캣의 binary버전을 설치하도록 하겠다. 과정은 매우 쉽다. http://tomcat.apache.org/download-70.cgi 에 접속하여 현재 일자로 최신버전인 7.0.25를 다운받도록 하자. 윈도우 환경에 따른 여러가지 버전이 있는데 자신이 32bit 운영체제이고 Windows를 사용한다면 빨간색으로 표시된 버전을 받도록 한다. (만약에 향후 톰캣의 버전이 올라간다면 상기 URL주소는 최신버전을 지원하지 않을 수도 있다.)
2.2 톰캣 바이너리 환경변수 설정
톰캣을 실행하기 위해 환경변수에 톰캣폴더를 등록시켜야 하는데 과정은 다음과 같다.
윈도우7이라면 시작에서 환경변수를 검색한 뒤 위의 그림과 같이 '계정의 환경변수 편집'로 접근하면 바로 환경변수 설정으로 이동한다. XP같은 경우에는 내컴퓨터에서 등록정보를 통해 접근하는 방법이 있다. 어떤 방법을 쓰던 일단 환경변수로 접근하기만 하면 된다.
일단 환경변수를 등록하기 전에 우리가 환경변수를 등록하는 이유를 일단 먼저 알아두어야 할 것 같다. Apache에서 제작된 프로그램들은 리눅스/Unix 환경에서도 유연하게 돌아가도록 설계되어있으므로 프로그램의 가장 원시적인 커맨드 창에서 실행되도록 제작되어 있다. 그래서 윈도우에서 커맨드 창을 이용해 해당 프로그램의 명령어를 구동시키기 위해서는 프로그램의 bat파일을 윈도우에 등록시켜야 하는데 환경변수 등록은 바로 이런 과정의 하나인 셈이다.
환경변수 등록이 필요한 이유를 이해했다면 이제 환경변수를 등록해보자. 먼저 환경변수에 등록 과정은 다음과 같다. 먼저 CATALINA_HOME이란 변수를 새로 만들어야 하는데 아래의 빨간색으로 표시된 '새로 만들기'를 클릭하고 변수의 이름과 값을 아래와 같이 입력하도록 한다. 변수명은 CATALINA_HOME 이고 변수의 값은 톰캣이 위치한 폴더이다.
필자는 자바 개발에 관한 프로그램들을 C드라이브에 JavaDE(Development Environment)폴더에 모두 위치시키기로 했으므로 톰캣이 위치한 폴더는 위의 그림과 같다. tomcat 폴더명은 앞으로도 자주 쓰이게 되므로 위와같이 간단하게 tomcat으로 줄여서 쓰는게 편리하다.
당신이 위의 그림과 같이 사용자 변수에 CATALINA_HOME을 등록시켰다면 사용자 변수 등록은 마친 셈이고 이어서 기존에 등록되있는 환경변수 PATH에 설정한 tomcat/bin폴더를 등록시켜야 한다. 톰캣의 bin폴더 내에는 톰캣 구동에 필요한 파일들이 전부 위치해 있으므로 PATH에 해당 주소를 등록시켜주어야 커맨드창에서 올바르게 명령어를 구동시킬 수 있다.
PATH등록은 사용자 변수를 작성하는 것과는 똑같은 셋팅이 아니다. 이번엔 사용자 변수 중 PATH를 변경시켜주는 것이다. PATH의 환경변수 값 중 기존에 있는 것들은 절대 지우지 말고 맨 뒤로 가는 end키를 눌러 다음과 같은 경로를 추가해주자. 세미콜롬을 빼먹어서는 절대 안된다.
;
이게 세미콜럼이다. 혹시라도 이상한 것을 넣어두는 사람들이 많아 강조한다. 그리고 폴더는 톰캣폴더의 bin폴더까지 입력시켜야 함은 물론이다.
2.3 톰캣 구동 확인하기
위와같은 설정을 마쳤다면 당신은 톰캣 설치에 모두 성공한 것이다. 직접 서버를 구동시켜 서버가 정상적으로 구동하는지 확인해보자. 간단한 커맨드창을 하나 열어 startup이라고 명령어를 넣으면 아래와 같은 창이 뜨는데 제대로 설정하였다면 이런 식으로 서버를 구동할 수 있을 것이다.
3. 메이븐 설치
3.1 maven 다운로드
이제 메이븐을 설치해보록 하자. 메이븐은 톰캣과 마찬가지로 아파치에서 만든 훌륭한 오픈소스 프로그램이며 벌써부터 다양한 플랫폼에서 광범위하게 사용되고 있는 자바 라이브러리 관리 프로그램이다. 먼저 메이븐이 뭔지도 모르고 과정만 따라가며 설치하는 사람이 있을 듯 하여 왜 메이븐을 사용해야 하는지 간략하게 소개하도록 하겠다.
메이븐은 한마디로 자바의 광범위한 jar 패키지를 관리해주는 프로그램이다. 자바는 객체지향적인 프로그래밍 언어으로서 하나의 개발사가 개발을 독점하는 프로그래밍 언어가 아닌 전세계 사용자에 의해서 발전해온 독특한 프로그래밍 언어였다. 그러다보니 다양한 프레임워크들이 생겨나게 되었고 중복된 기능을 자신만의 방법으로 제공하는 프레임워크들도 부지기수로 많다.
거기 뿐인가, 한 프레임워크의 특정기능이 다른 프레임워크를 의존하는 경우가 있다. 자바가 엄청난 확장성을 가진 언어임에는 틀림없지만 이렇게 우후죽순으로 관리가 되지 않는 점은 항상 큰 문제점임에 틀림없다. 예를 들어 어느 훌륭한 라이브러리를 다운받아서 개발을 완료했는데 해당 라이브러리의 의존 프레임워크가 너무 신버전이라 미묘한 버그가 생긴다던지 하는 문제 말이다.
이런 문제가 해결되려면 모든 라이브러리와 프레임워크는 하나의 큰 틀에서 관리되어야 하고 지속적으로 유지보수 되어야 한다. 게다가 자신이 개발한 코드의 버전 또한 분명히 명시해 두어야 하고 쉽게 또다른 jar파일로 배포할 수도 있어야 한다. 메이븐은 바로 이런 자바프로그래밍의 문제점에서 나온 프로그램이다. 우리는 메이븐을 설치하면 따로 인터넷에서 jar파일을 긁어올 필요도 없고 메이븐을 통해 원하는 버전을 다운받기만 하면 된다. 게다가 사용 중인 프레임워크가 현재 몇버전까지 나왔는지 알 수도 있고 원한다면 업데이트 또한 가능하다.
이런 강력한 기능을 제공하는 메이븐을 이제 우리도 한번 설치해보도록 하자. 먼저 http://maven.apache.org/download.html로 접속하여 현재 Maven의 최신 Binary버전을 받도록 한다. 현재 작성일자로 Maven 3.0.4가 최신버전이며 필자는 Maven 3.0.4버전을 받았다.
3.2 메이븐 환경변수 설정
다운받았다면 다운받은 폴더에 apache-maven-3.0.4-bin.zip 파일이 생길 것이다. 압축을 풀고 원하는 폴더에 위치시키도록 하자. 메이븐의 설치과정은 톰캣의 설치과정과 매우 비슷한데 아파치에서 만든 프로그램의 설치는 사실 거의 비슷하다. 우리가 윈도우 인스톨러에 익숙해져 있어서 이런 것을 어려워할 뿐이지 한번 경험하고 나면 이런 설치과정이 훨씬 쉽고 빠르다. 메이븐도 톰캣처럼 환경변수를 등록시켜주도록 하자.
톰캣 설치과정과 동일하게 MAVEN_HOME이란 변수를 새로 만들어주고 메이븐이 위치한 폴더를 변수 값으로 설정한다. 그리고 환경변수 중 PATH에 메이븐 폴더 내에 bin폴더가 잡힐 수 있도록 설정해준다. 단 메이븐 설치에 반드시 주의해야 할 점이 하나 있다. maven이 동작하려면 환경변수 중에 JAVA_HOME 변수가 반드시 필요한데 이것이 설정되어있지 않다면 반드시 설정해주어야 한다.
위와같은 JAVA_HOME 변수가 없다면 maven은 동작하지 않을 것이다. JAVA_HOME 변수는 현재 설치되어 있는 자바의 jdk폴더와 같다. jdk 뒤에 붙는 버전표시는 java버전에 따라 달라질 수 있다.
3.3 메이븐 설치 확인
위와 같은 설정을 모두 마쳤다면 이제 메이븐 설치는 모두 끝난 셈이다. 마지막으로 커맨드창에서 mvn -version이란 명령어와 함께 메이븐에 제대로 동작하는지 확인해 보도록 하자.
이제 우리는 메이븐과 톰캣과 이클립스 + STS까지 모든 설치를 마쳤다. 이제 마지막으로 남은 과제는 이것을 모두 종합하여 무사히 톰캣서버에서 구동될 수 있도록 세팅만 하면 되는 것이다. 마지막 세팅과정은 다음 장에서 계속 하도록 하겠다.
이제 메이븐과 이클립스, 톰캣이 모두 같이 연동되도록 설정해보자. 이 과정은 지금 설정하는 필자도 함께 알아가며 하는 과정이기 때문에 문서가 변경될 수 있다는 점을 유의해주길 바란다. 일단 2장까지 설치한 환경을 기본으로 하여 이클립스에서 별도의 세팅없이 모두 한번에 스프링 개발을 메이븐으로 관리하는 것을 목표로 한다.
4. 이클립스의 메이븐 + 스프링MVC 설정
왜 이클립스에서 이런 불편한 설정을 해주어야 할까? 이클립스는 훌륭한 IDE툴이지만 아직 메이븐과 스프링과 톰캣이 제대로 연동될 수 있는 시스템을 사용자의 설정에 맡기고 있다. 물론 JUnit을 활용하여 굳이 서버를 실행시키지 않아도 예상값을 주고 받을 수 있는 환경 또한 구성할 수 있지만 제대로된 확인은 직접 서버를 구동해서 서비스가 어떻게 돌아가는지 확인하는 길일 것이다.
여기저기 많은 예제들이 있지만 현재 작성되고 있는 글은 처음부터 모든 서비스를 일일이 구축하는 과정을 담고 있으므로 제대로 정독하였다면 초기 세팅과정에서 많은 시간을 절약할 수 있을 것이다.
4.1 이클립스에서 maven 플러그인 설치
이제 이클립스에서 maven을 활용할 수 있도록 플러그인을 설치해보자. 설치는 매우 간단한데... 마켓 플레이스에서 Maven Integration for Eclipse를 설치하면 끝이 난다.
이 후에 환경설정에서 maven 플러그인을 설치했으니 직접 우리가 로컬로 설치한 메이븐을 잡아주어야 한다.
① 창 - 환경설정에서 Maven - Installations 설정에 들어간 뒤에 ② Add를 누르고 ③ 메이븐이 설치되어 있는 폴더를 설정한다. 그러면 자동으로 C:\JavaDE\maven\conf\settings.xml이 Global 세팅으로 잡히게 된다. 만약에 메이븐이 글로벌로 잡히는 것을 원하지 않는다면 Installations가 아닌 Maven - User Settings 에서 직접 settings.xml파일을 잡아주면 된다.