본문 바로가기

Knowhow/Programming

[스크랩] Spring 웹 어플리케이션 만들기 (파) - Equinox 기반 프로젝트 4 조회(92)

[스크랩] Spring 웹 어플리케이션 만들기 (파) - Equinox 기반 프로젝트 4
조회(92)
프로그래밍 | 2006/02/02 (목) 11:17
추천 | 스크랩
일단 돌려서 눈으로 확인해보고 싶군요.
 
Equinox의 ANT 타겟(<target>s)들의 의미를 정확히 알려하지 않고
이것 저것 시도하다보니 시행착오가 많았습니다.
 
결국 지금 myapp 로 뭔가 돌아가고 있는 상황에서는
remove -> clean -> compile -> war -> deploywar -> start
 
위와 같은 순서로 ANT를 돌려야 하더군요.
너무 번거로워서 Run 이라는 이름으로 타겟을 하나 만들어서 이들이 순서대로 돌아가게 했습니다.
 
 <!-- Run in Tomcat After modification (author: MiKE) -->
 <target name="Run" depends="remove, clean, deploywar
        , start">
 </target>
 
그런데, 이 타겟은 논리적인 결함이 있는 것인지 문제가 좀 있었습니다.
무엇보다 톰캣이 romove 하고 난 컨텍스트를 동적으로 인지하지 못한다는 것이 문제였죠.
결국 톰캣을 내렸다가 올리거나 jsp 만 변경한 경우는 jsp 파일만 복사하거나 해야 합니다.
음... 톰캣을 내렸다 올리는 일을 ANT에 추가해야 할 것 같기도 한데
당장은 돌리는 방법부터 설명드리죠.
 
1. 일단, 톰캣을 실행중이어야 합니다. 그리고, 예전의 myapp가 실행중인 상태라고 가정하겠습니다.
이를 확인하기 위해서 list 타겟을 실행합니다. myapp가 있으면 remove 타겟을 실행시키세요.
없으면 먼저 start 타겟을 실행하고 다시 list 타겟을 실행해봅니다.
start가 안되면 좋고, 되면 다시 remove 타겟을 실행시키고, list를 실행해서 지워진걸 확인합니다.
 
주의하실 점은 start 되지 않은 상태에서는 remove가 되지 않는다는 점입니다.
그리고 여러 차례 테스트해보니까 remove는 정상적으로 동작하지 않는다고 짐작되네요.
어떤 경우는 remove 후에 톰캣을 내렸다가 올려도 남는 경우도 있네요.
 
결국 가장 완전한 방법은 CATALINA_HOME 아래의 webapps 디렉토리에서 제거하는 것이죠.
 
이젠 Run을 약간 바꾸죠. 지우는 것은 따로 하고, 여기서 부터 Run을 하는 것으로 합니다.
 <!-- Run in Tomcat After modification (author: MiKE) -->
 <target name="Run" depends="clean, war, install, start" />
 
이젠 잘 뜨는군요.
문제는 제가 인코딩을 UTF-8로 해서인지 한글이 전부 깨져서 나오네요.
 
단박에 고쳐질 것 같지는 않은데 밥을 먹고 해야겠네요.
 
 
원본 : Spring 웹 어플리케이션 만들기 (파) - Equinox 기반 프로젝트 4