이클립스를 이용한 서버구동과 톰캣 매니저를 통한 서버구동의 차이점에 대해…

1,626 views
Skip to first unread message

강동욱

unread,
Jan 25, 2012, 8:01:24 AM1/25/12
to Korea Spring User Group
두가지 서버 구동점 방식에 차이가 있어서 혹시 아시는 분 계시면 꼭 답변 좀 부탁드립니다.

그동안 톰캣 매니저를 통해서만 서버를 구동시켜오다가 이번에 Dynamic Web Project로 작성 테스트를 해보려고

이클립스의 Run As Server에 Tomcat 7.0을 등록시키고 서버를 구동시켜 보았습니다.

제 이클립스에 프로젝트가 4개정도 있는데 3가지는 Java > Tomcat Project 를 이용해서 작성한 반면...

(톰캣 프로젝트로 작성하면 프로젝트 루트 폴더에 바로 bin폴더, src폴더 WEB-INF 폴더가 생성됩니다.)

한가지만 Dynamic Web Project로 구성해서 간단한 테스트를 돌려보았습니다.

(다이나믹 웹 프로젝트는 WebContent 폴더가 나오고 class파일은 프로젝트 루트 폴더의 build 폴더 내로 들어갑니
다.)

두가지 프로젝트의 폴더 구성이 다르고 class폴더의 위치와 라이브러리를 보관하는 폴더의 위치도 제각각인 상태에서

톰캣 매니저로 서버를 구동시키는 것과 이클립스로 서버를 구동시키는 것에는 매우 큰 차이가 있더군요..

(왜 진작에 이런 테스트를 많이 거치지 못했는지 후회됩니다....)

먼저 톰캣 매니저(시작줄에 위치하는 Tomcat Properties)로 구동한 프로젝트는 모든 프로젝트를 구동시킨 반면

이클립스로 구동하는 서비스는 선택된 프로젝트(다이나믹 웹 프로젝트)만 구동되었습니다.

이렇게 하나의 프로젝트만 서버에 올리는 방법이 있다는 것도 신기하였지만

문제는 톰캣 매니저로 구동할 때는 기존의 톰캣 프로젝트로 작성된 프로젝트들은 정상적으로 작동되는 반면

다이나믹 웹 프로젝트의 서비스는 내부 라이브러리 폴더도 인식하지 못하였고 클래스 파일 위치도 제대로 인식하지 못하였습니다.

반면 이클립스의 Run As Server로 구동하였을 때는 선택된 단일 프로젝트(다이나믹 웹 프로젝트)만 실행되었고

신기하게도 이번엔 다이나믹 웹 프로젝트의 폴더 구성의 라이브러리 폴더나 클래스 파일 위치를 정확하게 잡아내더군요.

어찌됬든 서비스가 구동되니 다행이지만 앞으로 Spring MVC를 이용해서 서비스를 제작할테고 그러면 지금보다 폴더가

더욱 복잡하게 구성될텐데 톰캣이 어떤 방식으로 이런 폴더 구성을 잡아내는가, 이해하지 않고 맘대로 제작했다가는 나중에

크게 후회할 듯 싶어서 질문 드립니다.

두가지의 서버 구동방식에 어떤 차이점이 있었고 톰캣이 어떤 식으로 클래스와 jar 라이브러리들을 불러들였는지

아신다면 답변 부탁드립니다. 아니라면 참조문서라도 알려주시면 감사하겠습니다.

읽어주셔서 감사합니다.

허광남

unread,
Jan 25, 2012, 8:07:59 AM1/25/12
to ks...@googlegroups.com, Korea Spring User Group
컨텍스트를 모르면 이해 못하죠.
서버 클라이언트 구분 못하고 있죠.

나의 iPhone에서 보냄

2012. 1. 25. 오후 10:01 강동욱 <happens...@gmail.com> 작성:
> --
> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> 더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>

강동욱

unread,
Jan 25, 2012, 8:23:55 AM1/25/12
to Korea Spring User Group
좀 수준낮은 질문이긴 하지만 그래도 간략하게나마 어떤 식의 차이가 있는지 부탁드립니다.

황용대

unread,
Jan 25, 2012, 8:32:22 AM1/25/12
to ks...@googlegroups.com
이클립스로 서버를 실행 할 경우 웹프로젝트를 서버에 등록하면 이클립스가 직접 server.xml을 수정하여 컨텍스트를 추가합니다.

컨텍스트의 docbase는 워크스페이스 안 .meta???? 디렉토리 안으로 되어 클래스 파일과 리소스 모두 컨텍스트 디렉토리
안으로 복사합니다.

물어보신 두 가지 방식 차이가 없기 때문에 신경 쓰지 않으셔도 되겠습니다.

2012. 1. 25. 오후 10:01 "강동욱" <happens...@gmail.com> 작성:

> 두가지 서버 구동점 방식에 차이가 있어서 혹시 아시는 분 계시면 꼭 답변 좀 부탁드립니다.

허광남

unread,
Jan 25, 2012, 8:55:43 AM1/25/12
to ks...@googlegroups.com, ks...@googlegroups.com
context matters

나의 iPhone에서 보냄

2012. 1. 25. 오후 10:32 황용대 <sta...@gmail.com> 작성:

허광남

unread,
Jan 25, 2012, 8:56:29 AM1/25/12
to ks...@googlegroups.com, ks...@googlegroups.com
똥인 된장인지 구별하는게 필요하죠.

나의 iPhone에서 보냄

2012. 1. 25. 오후 10:32 황용대 <sta...@gmail.com> 작성:

강동욱

unread,
Jan 25, 2012, 9:33:30 AM1/25/12
to Korea Spring User Group
답변 감사합니다. 확인해보니 톰캣에서 생성된 프로젝트를 자동으로 컨텍스트 설정 해주지 않아 수동으로 직접 설정하니까 이제서야 읽
어들이네요.

그나저나 이클립스에서 단순히 서버만 구동하는 줄 알았는데 자동으로 server.xml 까지 수정하고... 리소스를 워크스페이스
안으로 불러들인다니.. 처음 알았네요.

Kenu Heo

unread,
Jan 25, 2012, 11:07:43 AM1/25/12
to ks...@googlegroups.com

경험이 없으신거죠
아셨으니 잘 하실겁니다. ^^b
2012. 1. 25. 오후 11:33에 "강동욱" <happens...@gmail.com>님이 작성:

양완수

unread,
Jan 26, 2012, 8:54:35 PM1/26/12
to ks...@googlegroups.com
간혹  빌드되어진 결과물과 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp${num}\wtpwebapps 간 동기화에 문제가 생깁니다.

그래서 반영된지 알고 헛 기간 보내며 "왜 안될까? " 고민 만 직살나게 하게 됩니다.

대부분 아래와 같은 상황에서 발생하더군요.

*.properties 변경
maven 의 pom.xml 상의 dependency 변경에 따른 m2eclipse 오류 -> ClassNotFoundException 이 발생합니다.
오래된 Auto Build 에 따른 톰캣 HotDeploy 상황
그냥 심심 할 때 -> 톰캣을 구동 하면 "[심각]xxxxxxxx"  또는 ClassNotFoundException 발생 머 이런식으로 나옴 wtpwebapps 에 가보면 lib 에 아무것도 없거나 리소스들이 일부 누락되어 있음.


pom.xml dependecy 변경에 따른 상황에서는 다시 eclipse:eclipse 해주고 F5 눌러 프로젝트를 새로고침 해 준 후 서버 clean 해준후 다시 publishing 해줍니다.
그외 대부분의 상황에서는 서버 clean 해준후 다시 publishing 해주면 해결 되더군요.



이상용

unread,
Jan 27, 2012, 1:13:16 AM1/27/12
to ks...@googlegroups.com
간혹 정상적으로 구동되지 않을때는 사용하시는 계정이름이 영문으로 되어 있는지
확인해보시기 바랍니다. 전 항상 영문으로만 사용해서 지금은 잘 모르겠지만.
이전에는 한글 아이디로 윈도우 계정을 사용하면 정상적으로 인식을 못하는 경우가 왕왕 발생했습니다 ㅡㅡㅋ

그냥... 넘 졸려서 ^^;;;

퇴근까지 3시간!! 힘내시구 즐거운 주말되시기 바랍니다.

2012년 1월 27일 오전 10:54, 양완수 <ywsa...@gmail.com>님의 말:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
웹에서 이 토론을 보려면 https://groups.google.com/d/msg/ksug/-/GC604xP7XYsJ을(를) 방문하세요.

Jihwan Kim

unread,
Jan 27, 2012, 9:15:26 AM1/27/12
to ks...@googlegroups.com
maven을 활용해서 하지는 않나요?
jetty:run, tomcat:run 이런식으로...

그럼 반영안되고 하는문제는 없어서 편하더군요.

2012년 1월 27일 오후 3:13, 이상용 <kr.goo...@gmail.com>님의 말:

Kenu

unread,
Jan 28, 2012, 12:07:46 AM1/28/12
to ks...@googlegroups.com, happens...@gmail.com
KSUG 메일링에 계신 분들과 강동욱님께 진심으로 사과드립니다.

보낸 메일함을 보다가 무례한 짓을 한 것을 지금 막 발견했습니다.
뭐라 말씀드릴 수 없이 부끄럽습니다.

취중에 메일을 쓰는 것이 제 잘못이었습니다.
기분이 매우 나쁘셨을텐데, 용서를 바랍니다.

다시 한 번 메일링에 계신 분들과 강동욱님께 깊이 사과드립니다.



허광남 배상
kenu heo

25/01/2012 10:56 PM 허광남 <kenu...@gmail.com> 작성:

Kenu

unread,
Jan 28, 2012, 12:11:51 AM1/28/12
to ks...@googlegroups.com, happens...@gmail.com
질문내용에 대해서 정리해 놓은 문서가 있습니다.
http://bit.ly/okeclipse
조금이라도 도움이 되기를 바랍니다.


허광남 배상
kenu heo

SangHyun Lee

unread,
Jan 28, 2012, 1:56:19 AM1/28/12
to ks...@googlegroups.com
아, 그런 비하인드 스토리가 있었군요. 저는 허광남님께서 동욱님과 개인적으로 아는 사이라 장난스럽게 말씀하시는 건줄 알았네요.^^
동욱님은 매우 매너좋게 답변하셨지만 기분이 좀 안 좋으셨을 수도 있을 것 같은데 늦게나마 오해가 풀려서 다행이네요~

2012년 1월 28일 오후 2:11, Kenu <kenu...@gmail.com>님의 말:

박용권

unread,
Jan 28, 2012, 6:03:54 PM1/28/12
to ks...@googlegroups.com
뭔가 살짝 이상하다... 싶었는데 이런 사정이 있었군요.

2012년 1월 28일 오후 3:56, SangHyun Lee <hamm...@gmail.com>님의 말:

Joshua Jeong

unread,
Jan 29, 2012, 11:18:04 AM1/29/12
to ks...@googlegroups.com

저도 질문 덕분에 자세히 알게 되었네요. 질문 고맙습니다. 다음에 또 질문하시면 허광남님이 가장 먼저 확실한 답변을 해 주실 것 같아요 :)

/Joshua Jeong

강동욱

unread,
Jan 30, 2012, 4:50:50 AM1/30/12
to Korea Spring User Group
답변주신분들.. 정말 감사드립니다!

생각했던 것 X100만큼 상세히 답을 주셔서 정말 큰 도움이 되었습니다.

허광남 님 정말 좋은 문서를 공개해주셔서 감사합니다.

직접 작성하신 것 같던데... 너무 자세한 설명이 있어서 감동받았습니다 ㅠㅠ

Sanghyuk Jung

unread,
Jan 30, 2012, 5:17:52 AM1/30/12
to ks...@googlegroups.com
저도 문서 잘봤습니다.

'Serve modules without publishing '라는 옵션이 있는지는 저도 처음알았네요;

맨날 쓰는쓰면서도 자세히 안 보면 모르나봅니다;

그리고 Tomcat 설치에 따로 다운로드 안 하고 Eclipse 안에서 install할 수 있는 버튼도 있더라구요.
(Tomcat 버전 선택한다음에 'download and install'버튼 누르면 됩니다.)

개발환경 관련 정보는 많이 공유할수록 좋은것 같습니다.~

참고로 Maven 사용하는 분들이 쓸 수 있는, maven tomcat plugin과 jetty plugin에 대해서 제가 정리한 링크도 공유합니다.



2012년 1월 30일 오후 6:50, 강동욱 <happens...@gmail.com>님의 말:
Reply all
Reply to author
Forward
0 new messages