이클립스 Deployment Assembly에 대해서

흔히 웹 프로젝트를 생성하면 다음과 같은 구조의 폴더가 만들어지고, 이클립스에 내장되어 있는 tomcat WAS 서버를 기동하면 생성한 프로젝트의 소스를 기반으로 웹 애플리케이션이 구동되는 줄 알 것이다.

하지만 이클립스에서는 멀티 프로젝트를 고려하여 Deployment Assembly 메뉴를 제공하고, tomcat WAS 기동 시 특정 디렉토리 영역에 프로젝트 소스를 배포한다.

그 장소가 다음과 같다.

예를 들어 어떤 서비스를 개발하는데 그 서비스에는 관리자 페이지와 사용자 페이지 두 개의 사이트를 제공해야 한다고 하자.

프로젝트 설계 시 대게 아래와 같이 두 개의 프로젝트(관리자, 사용자)를 생성할 것이고, 각 프로젝트에서 공통으로 참조해야할 프로젝트를 추가적으로 생성할 것이다.

ADMIN project (관리자)

USER project (사용자)

COMMON project (공통)

즉, ADMIN project + COMMON project 소스를 한 곳으로 배포해서 tomcat을 구동해야 할 배포 디렉토리가 필요한데 그곳이 .metadata\.plugins\org.eclipse.wst.server.core 디렉토리 하위인 것이다.

이처럼 Deployment Assembly는 멀티 프로젝트를 이용해서 개발 진행 시 각 프로젝트의 폴더를 조립하는 기능을 담당한다.

아마 메이븐 프로젝트를 생성하면 다음과 같이 Deployment Assembly가 설정되어 있는 것을 확인할 수 있는데 자세히 보면 왼쪽의 Source 디렉토리에 있는 패스들이 오른쪽의 Deploy Path에 맵핑되어 있는 것을 볼 수 있을 것이다.

결국 배포 디렉토리 하위에 WEB-INF/classes 디렉토리와 같은 식으로 배포가 된다.

결론은 tomcat 플러그인 웹 프로젝트 가상 배포 장소에 배포하게 될 디렉토리 매핑 정보를 관리하는 메뉴인 것이다.