전편에 이어서 프로젝트의 빠진 jar 파일을 보충하는 방법입니다.
Problems 뷰를 보면 에러 목록을 볼 수 있습니다.

사용자 삽입 이미지

빨간 에러 메시지를 따라가면 Jetty 관련 파일들이 필요함을 알 수 있습니다. WebContent 폴더 아래 WEB-INF/lib 폴더에 jetty 관련한 파일이 없죠. Web App Libraries 아래와 동일한 목록입니다.
사용자 삽입 이미지

http://getahead.org/dwr/download 페이지로 돌아가서 dwr-2.0.1-src.zip 파일을 받으면 있을 것 같다는 생각이 들지 않나요? 다운 받아서 압축을 풀어봅니다. 그럼 jar 디렉토리가 보입니다. jetty-6.1.1.jar 와 jetty-util-6.1.1.jar 파일 2개를 탐색기에서 복사합니다. 파일 선택하고 ctrl+C
사용자 삽입 이미지

WebContent/WEB-INF/lib 폴더를 선택하고 오른버튼의 컨텍스트 메뉴에서 Paste 로 붙여넣기 하면 됩니다. 위쪽의 Libraries에 Web App Libraries는 동일해 보여도 바로 붙여넣기가 안됩니다.
사용자 삽입 이미지

자연적으로 추가된 두 개의 jar파일이 Web App Libraries 에 보이게 됩니다.
사용자 삽입 이미지

물론 jetty 관련 에러도 모두 사라졌죠. 하나 더 있군요. JettySpringLauncher.java 에 GenericWebApplicationContext 클래스요. org.springframework.web.context.support.GenericWebApplicationContext 패키지를 보니 스프링프레임워크를 참조하는군요. 같은 방법으로 spring-2.0.jar 파일을 추가하면 됩니다.

쉽죠. ^^;
하나 더 말씀 드리자면, 탐색기에서 드래그앤드롭으로 추가가 가능합니다. 복사죠.
드래그앤드롭 추가

드래그앤드롭 추가

두 개의 프로젝트의 차이점은 일반 자바 애플리케이션이냐 웹 애플리케이션이냐 입니다. 그에 따라서 개발하는 소스의 디렉토리 구조가 달라집니다. 이클립스에서 프로젝트 아이콘의 모양도 차이가 있습니다. J 글자는 Java라는 의미이고, 웹프로젝트는 동그란 지구 이미지가 하나 더 붙어있습니다.
Java Project and Dynamic Web Project

Java Project and Dynamic Web Project


일단 eclipse 3.3 wtp에서 옵션 조정없이 Java 프로젝트와 Dynamic Web Project를 만들어서 설정파일을 비교해 보았습니다. 퍼스펙티브는 모든 파일이 다 보이는 Resource Perspective로 정했습니다.
compare with each other

compare with each other


만들어진 두 개의 프로젝트를 선택하고 Compare With > each other를 선택합니다. 두 프로젝트의 디렉토리, 파일이 비교됩니다.

directory, file diff

directory, file diff

.classpath 파일은 프로젝트의 클래스패스가 지정되는 파일입니다. 이 파일 덕분에 환경변수에 클래스패스를 지정하는 고전적인 자바 개발법에서 벗어날 수 있죠. 하단의 파일 비교를 보면 웹 프로젝트 쪽에 2줄이 더 추가된 것을 알 수 있습니다.
일반 자바 프로젝트에서 자바 웹 프로젝트로 변하면서 추가된 디렉토리는 .settings , build, WebContent 디렉토리 셋입니다. build/classes 디렉토리는 bin 디렉토리의 대체입니다.
.project를 더블클릭해서 비교해 보시면 프로젝트 속성이 어떻게 변경이 되었는지 확인할 수 있습니다.

+ Recent posts